本篇文章小编给大家分享一下Python Django项目和应用的创建代码解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
创建一个Django项目
创建一个名为project的Django项目,在cmd命令行输入
django-admin startproject project
输入命令完会生成一个名叫project的项目包,包内一个manage.py文件和项目名同名的project包。
manage.py文件:一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
project包里面我们可以查看到的目录结构:
project/__init__.py:一个空文件,告诉 Python 该目录是一个 Python 包。
project/settings.py:该 Django 项目的设置/配置。
project/urls.py:该 Django 项目的 URL 声明; 这是项目的根路由。
project/wsgi.py:一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目
settings.py项目配置文件
创建完项目后,在项目同名的project目录内有一个settings.py文件,这个配置文件用于配置和管理Django项目的运维信息。
settings.py配置文件中的所有配置项都是大写的,项目创建时,就初始化了一些默认配置,这些默认配置承载着最基础的项目信息。
其中常用的配置项有:
DATABASES:数据库配置
TEMPLATES:配置HTML页面的模板地址templates
STATICFILES_DIRS:配置静态文件
MIDDLEWARE:配置中间件
DEBUG:默认为True,项目上线时改为False
ALLOWED_HOSTS:限定请求中的host值
urls.py路由系统
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模块中。