目录
1.基础命令
- 查看所有子命令 python3 manage.py
- 创建项目 django-admin startproject 项目名
- 命令行启动项目 py manage.py runserver 端口号(可省略,使用默认端口)
- 创建子应用 py manage.py startapp 应用名
- 数据库迁移 py manage.py makemigrations py manage.py migrate
- 创建后台超级用户 py manage.py createsuperuser
- 调试终端 py manage.py shell
- 清空数据库 py manage.py flush
2.目录文件说明
2.1 项目目录
|Demo 项目根目录
├── Demo 项目名称
│ ├── __init__.py inti文件,标识当前所在的项目目录是一个 Python 包
│ ├── settings.py 项目配置文件
│ ├── urls.py url路径文件
│ └── wsgi.py WSGI服务器程序的入口文件
└── manage.py 命令行工具文件
2.2 子应用目录
在Demo目录的终端上 运行 py manage.py startapp child 创建一个子应用,然后在settings.py中进行注册。
|child 子应用根目录
│__ __init__.py inti文件,标识当前所在的目录是一个 Python 包
│__ admin.py 后台配置
│__ apps.py 应用本身配置
|__ models.py 数据库模型表
|__ tests.py 用于编写当前应用本身的单元测试
|__ views.py web视图
|__ migrations 迁移文件目录
3.路由系统
- 基本配置:
from django.urls import path from django.urls import re_path urlpatterns = [ path(route,view,kwargs=None,name=None) # 使用正则 re_path('^ccc', index, kwargs=None, name=None) ]
route: 标识url的正则表达式(必填)
view: 视图函数(必填)
kwargs: 字典形式传给视图函数的默认参数(可选)
name: 给route起的一个名字,可用于反向解析(可选) -
三种URL映射
1)固定url映射:一个固定不变的url映射到一个视图:path('bbs/',views.bbs)
2) 动态映射:根据url传递的参数匹配:path('bbs/<int:page>',views.bbs_list)
3) 多级url映射:当一个项目中存在多个app的时候,使用如下方式:path('app/',incolude('app.urls'))
4.使用子应用
利用 Django特定的配置方式,建立起视图函数和url之间的关系,以下采用多级映射绑定路由
- 定义视图函数
from django.http import HttpResponse # Create your views here. def index(request): return HttpResponse('123')
- 在子应用目录下面创建一个路由文件 url.py
from django.urls import path from .views import index urlpatterns = [ path('', index, kwargs=None, name=None) ]
- 在项目的url.py文件中指定子应用
from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('child/', include('child.urls')), ]