Django中文文档地址 网页链接
一、创建一个Django项目
1. django-admin.py startproject project_name
2. django startproject project_name
二、创建app
cd 进入project_name目录后创建app
1. python manage.py startapp app_name
2. django-admin.py startapp app_name
三 、目录结构
urls.py
网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。
views.py
处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。
models.py
与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。
forms.py
表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。
templates 文件夹
views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。
admin.py
后台,可以用很少量的代码就拥有一个强大的后台。
settings.py
Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。
四、url.py(URL调度器)
概述:
为了给一个应用设计URL,你需要创建一个Python 模块,通常被称为URLconf(URL configuration)。这个模块是纯粹的Python 代码,包含URL 模式(简单的正则表达式)到Python 函数(你的视图)的简单映射。
Django 如何处理一个请求
当一个用户请求Django 站点的一个页面,下面是Django 系统决定执行哪个Python 代码使用的算法:
- Django确定要使用的根URLconf模块。通常,这是ROOT_URLCONF设置的值,但是如果传入的HttpRequest对象具有urlconf属性(由中间件设置),那么它的值将代替ROOT_URLCONF设置。
- Django加载该Python模块并查找变量urlpatterns。这应该是django.url .path()和/或django.url .re_path()实例的Python列表。
- Django 依次匹配每个URL 模式,在与请求的URL 匹配的第一个模式停下来。
- 一旦其中一个URL模式匹配,Django就导入并调用给定的视图,这是一个简单的Python函数(或基于类的视图)。
视图通过以下参数传递:
一、一个 HttpRequest 实例。
二、如果匹配的URL模式没有返回命名组,那么正则表达式中的匹配将作为位置参数提供。
三、关键字参数由路径表达式匹配的任何命名部分组成,由django.url .path()或django.url .re_path()的可选kwargs参数中指定的任何参数覆盖。
5.如果没有匹配的URL模式,或者在此过程的任何时刻引发异常,Django将调用一个适当的错误处理视图。
以下路径转换器在默认情况下可用:
- str—匹配任何非空字符串,不包括路径分隔符’/’。如果表达式中没有包含转换器,这是默认值。
- int—匹配零或任何正整数。返回一个int。
- slug—匹配零或任何正整数。返回int.匹配任何由ASCII字母或数字、连字符和下划线组成的段塞字符串。例如,building-your-1st-django-site。
- uuid—匹配格式化的UUID。为了防止多个url映射到同一个页面,必须包含破折号和小写字母。例如,075194 d3 - 6885 - 417 - e - a8a8 c931e272f00——6。返回一个UUID实例。
- path—匹配任何非空字符串,包括路径分隔符’/’。这允许您匹配一个完整的URL路径,而不是像str那样只匹配URL路径的一段。