Django 中提供了开发网站经常用到的模块,常见的代码都为你写好了,通过减少重复的代码,Django 使你能够专注于 web 应用上有 趣的关键性的东西。为了达到这个目标,Django 提供了通用Web开发模式的高度抽象,提供了频繁进行的编程作业的快速解决方法,以及为“如何解决问题”提供了清晰明了的约定。Django的理念是DRY(Don't Repeat Yourself)来鼓励快速开发!
## Django 全貌
urls.py
网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。
settings.py
Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置,缓存等。
wsgi.py
遵循wsgi规范,创建socket
models.py
与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。
forms.py
表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。
templates 文件夹
views.py
处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。
admin.py
后台,可以用很少量的代码就拥有一个强大的后台。
## Django请求生命周期
发起请求 -> URL对应关系(匹配) -> 视图函数 -> 处理请求(业务处理,数据库交互) -> 模板渲染 -> 返回用户字符串