Django 最初被设计用于具有快速开发需求的新闻类站点,目的是要实现简单快捷的网站开发。Django 是一个web框架,可以很方便地实现一个数据库驱动的 Web 应用。
web框架和web服务器不一样,web框架是建设web应用的,把从接收请求数据到返回数据的这个过程中的操作进行封装,这样开发者方便地调用框架封装好的API就可以快速的实现自己的功能,所以说实现简单快捷的网站开发。没有web框架也可以开发web应用,就是开发者的工作量会大一些。web服务器是处理请求,并返回响应,还要管理多进程,进程挂了,要拉起等等,web服务器是比在web框架更底层的东西。
MTV也就是 model-template-view。
一个项目可以有多个应用APP,一个应用可以有多个URL。比如一个项目是实验室管理系统,可以包含用户应用、设备管理应用、实验开展情况应用等,用户应用下有注册/登录/登出等URL,设备管理应用下有新增设备/查看设备信息/删除设备等URL,实验开展情况应用可以有注册实验/编辑实验/查看实验情况/管理实验参与人员等URL,基本上都是围绕数据库的增删改查。
新建Django项目后,同项目名称的目录下,有 settings.py 和 urls.py 两个文件。setting.py 文件下是整个项目的设置,INSTALLED_APPS变量中设置自己的应用,比如设备管理应用;TEMPLATES 变量中设置用到的模板;DATABASES 变量设置用到的数据库,默认是sqllite3。
Django的执行从 setting.py 开始,读取这些配置,加载注册了的应用,并到对应的应用目录下,执行程序。urls.py是设置整个项目的URL,只设置到应用这一层,应用下面的url在应用里面自己设置,这样就尽量地实现了解耦。
具体到每个应用下,目录结构是:
这样,从settings.py 里注册了app,在每个app里编写这些文件,Django就能把整个项目运行起来,把对于的url请求发送给指定的视图函数,得到正确的处理。