Django框架学习

1815人浏览 / 0人评论

python版本:Python 3.7.4

django版本:3.1.2

一,初始化一个项目 

  1. 安装Django
    pip uninstall django #卸载之前安装的
    pip install django  #安装django
    python -m django --version #查看django版本

     

  2.  初始化一个项目
    django-admin startproject mysite  #mysite为项目名
    初始化成功后在当前目录下会生成mysite文件夹,目录格式为:
    mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.py
    这些文件是:
    mysite/根目录是您的项目的容器。它的名称对Django无关紧要;您可以将其重命名为任何喜欢的名称。
    manage.py:一个命令行实用程序,可让您以各种方式与该Django项目进行交互。您可以manage.pydjango-admin和manage.py中阅读有关的所有详细信息 。
    内部mysite/目录是项目的实际Python包。它的名称是Python包名称,您需要使用它来导入其中的任何内容(例如mysite.urls)。
    mysite/__init__.py:一个空文件,告诉Python该目录应视为Python软件包。如果您是Python初学者,请在Python官方文档中阅读有关包的更多信息mysite/settings.py:此Django项目的设置/配置。 Django设置将告诉您所有设置的工作方式。
    mysite/urls.py:此Django项目的URL声明;Django支持的网站的“目录”。您可以在URL调度程序中阅读有关URL的更多信息。
    mysite/asgi.py:与ASGI兼容的Web服务器为您的项目提供服务的入口点。有关更多详细信息,请参见如何使用ASGI进行部署mysite/wsgi.py:兼容WSGI的Web服务器为您的项目提供服务的入口点。有关更多详细信息,请参见如何使用WSGI进行部署
  3. 在根目录下启动服务器
    
    python manage.py runserver #默认路径为localhost:8000,Ctrl+C退出
    python manage.py runserver 8000 #指定端口
    python manage.py runserver 0:8000 #指定ip和端口

     

  4.  您在Django中编写的每个应用程序都包含一个遵循特定约定的Python包。Django附带了一个实用程序,该实用程序会自动生成应用程序的基本目录结构,因此您可以专注于编写代码,而不是创建目录。
  5. 创建一个应用程序,在manage.py同级目录下执行
    python manage.py startapp polls #创建一个polls应用
     
  6. 在polls/views.py中编写视图
    from django.http import HttpResponse
    
    
    def index(request):
        return HttpResponse("Hello, world. You're at the polls index.")
     
  7. 在polls/urls.py中编写视图路径
    from django.urls import path
    
    from . import views
    
    urlpatterns = [
        path('', views.index, name='index'),
    ]
     
  8.  在mysite/urls.py,中注册polls应用路径
    from django.contrib import admin
    from django.urls import include, path
    
    urlpatterns = [
        path('polls/', include('polls.urls')),
        path('admin/', admin.site.urls),
    ]

     

  9. 访问 localhost:8000/polls , 

 二,安装mysql数据库

  1. 安装mysqlclient
    pip install mysqlclient

     

  2. 在mysite/settings.py文件修改数据库配置 ,同时创建数据库
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': '数据库名',
            'USER': '用户名',
            'PASSWORD': '密码',
            'HOST': 'localhost'
        }
    }

     

  3.  初始化数据库
    python manage.py migrate

     

  4. 修改polls/models.py创建模型
    from django.db import models
    
    
    class Question(models.Model):
        question_text = models.CharField(max_length=200)
        pub_date = models.DateTimeField('date published')
    
    
    class Choice(models.Model):
        question = models.ForeignKey(Question, on_delete=models.CASCADE)
        choice_text = models.CharField(max_length=200)
        votes = models.IntegerField(default=0)
     
  5. 激活模型 :编辑mysite/settings.py,将Polls应用插入到项目
    INSTALLED_APPS = [
        'polls.apps.PollsConfig',
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
    ]

     

  6. 将模型变化迁移到磁盘上的文件
    python manage.py makemigrations polls
     
  7. 查看表创建语句
    python manage.py sqlmigrate polls 0001
     
  8.  创建所有模型到数据库(建表)
    python manage.py migrate

    模型创建和更改总结:

    更改模型(在中models.py)。
    运行为这些更改创建迁移python manage.py makemigrations
    运行以将那些更改应用到数据库。python manage.py migrate

     

三,其它命令

  1. 调用python shell 
    python manage.py shell
     
  2.  创建管理员账号
    python manage.py createsuperuser
    Username: admin                     #用户名
    Email address: admin@example.com    #邮箱
    Password: **********                #密码
    Password (again): *********         #密码
    Superuser created successfully.

     

  3. 访问 localhost:8000/admin 进入管理页面 ,修改为中文页面需要配置mysite/setting.py
    LANGUAGE_CODE = 'zh-hans'
    
    TIME_ZONE = 'Asia/Shanghai'  

     

 备注:django服务除了增删文件需要重启服务外,其它修改都会自动重新加载

 

Django详细学习文档点击此处

全部评论