创建一个名为project的Django项目,在cmd命令行输入
django-admin startproject project
输入命令完会生成一个名叫project的项目包,包内一个manage.py文件和项目名同名的project包。
project包里面我们可以查看到的目录结构:
创建完项目后,在项目同名的project目录内有一个settings.py 文件,这个配置文件用于配置和管理Django项目的运维信息。
settings.py配置文件中的所有配置项都是大写的,项目创建时,就初始化了一些默认配置,这些默认配置承载着最基础的项目信息。
其中常用的配置项有:
DATABASES :数据库配置
TEMPLATES:配置HTML页面的模板地址templates
STATICFILES_DIRS :配置静态文件
MIDDLEWARE :配置中间件
DEBUG:默认为True,项目上线时改为False
ALLOWED_HOSTS:限定请求中的host值
Django的路由系统作用是使views中处理数据的函数与请求的url建立映射关系。
请求到来之后,根据urls.py里的关系条目,查找到与请求对应的处理方法,从而返回数据给客户端http页面。
在Django1.x版本中url映射一般是一条正则表达式,“^” 字符串的开始,“$“ 字符串的结束。项条目从头开始进行逐一对比,一旦遇到匹配项,立即执行该条目映射的视图函数或二级路由,其后的条目将不再继续匹配。因此,url路由的编写顺序至关重要!
在Django1.x中,一个url映射条目至少有两个参数,一个是正则规则,一个是视图函数,代码如下:
from django.conf.urls import url # url()方法导入方式 url(r'^test/$',views.test) # django2中使用re_path替换url
在Django2.x版本中路由映射使用 path() 或 re_path() 方法,path()没有了正则的那些规则,直接匹配字符串,re_patah() 用法和url()一样,path()的运用如下:
from django.urls import path,re_path # path()方法的导入方式 path('test/',views.test) # 不需要使用 ^ $ 等正则规则
注意:本课程中使用re_path()的正则匹配,可自行选择path()或re_path()。
当有多个应用(App)时,我们会在每个App里,各自创建一个urls.py路由模块,然后从根路由出发,将app所属的url请求,全部转发到相应的urls.py模块中。