MVChtml
根据网上(百度百科)查到的资料,是这个意思:MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑汇集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不须要从新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。很高大上哈,其实并无,它就是:一种文件的组织和管理形式!把不一样类型的文件放到不一样的目录下的一种方法。固然,它带来的好处有不少,好比先后端分离,松耦合等等,就不废话了。python
MTVweb
有些web框架(Django)以为MVC的字面意思很别扭,就给它改了一下。view再也不是HTML相关,而是主业务逻辑了,至关于控制器。html被放在Templates中,称做模板,因而MVC就变成了MTV。这其实就是一个文字游戏,和MVC本质上是同样的,换了个名字和叫法而已。数据库
知道了这个,也就初步知道了Django属于什么类型的web框架了,由于django的流程是这样的,图片是借的django
呐,就这么个流程,我在文章里面也有写,这就很少说了。后端
既然如此,django是怎么用的,都有什么东西?如今别管django了,也别管什么MVC/MTV了,先看这个:浏览器
web框架:Web应用框架(Web application framework)是一种开发框架,用来支持动态网站、网络应用程序及网络服务的开发。其类型有基于请求的和基于组件的两种框架。缓存
好了,知道了web框架,那么就要知道web,啥是web?百科上给的太多了,我缩写一下:web就是socket,它的生命周期是这样的:服务器
Http请求本质 Django程序:socket服务端 a. 服务端监听IP和端口 c. 接受请求 \r\n\r\n:请求头和请求体 \r\n & request.POST request.GET d. 响应: 响应头: location:www.baidu.com 和 响应体 e. 断开链接 浏览器: socket客户端 b. 浏览器发送: GET请求: "GET /index.html http1.1\r\nUser-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x6..\r\n\r\nAccept-Encoding:gzip\r\n\r\n" POST请求: "POST /index.html http1.1\r\nUser-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x6..\r\n\r\nAccept-Encoding:gzip\r\n\r\nuser=cqz&hobby=chen" e. 断开链接
完事儿了,如今说Django,理论知识自行百度,我这里先简单说一下其余操做:网络
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 的开关,静态文件的位置等
上面是简单的django的组成,再往下看:
新建一个 django project: django-admin.py startproject project_name django-admin startproject project_name 新建 app 先进入项目目录下,cd project_name 而后执行下面的命令 python manage.py startapp app_name django-admin.py startapp app_name 建立数据库表 或 更改数据库表或字段 Django 1.7.1及以上 用如下命令 建立更改的文件:python manage.py makemigrations 将生成的py文件应用到数据库:python manage.py migrate 使用开发服务器(因为性能问题,不推荐使用) python manage.py runserver # 默认启动本地地址和端口 python manage.py runserver IP地址# 启动指定地址和默认端口 python manage.py runserver IP地址 端口# 启动指定地址和指定端口 清空数据库: python manage.py flush(此命令会询问是 yes 仍是 no, 选择 yes 会把数据所有清空掉,只留下空表。) 建立超级管理员: python manage.py createsuperuser --username 名字 按照提示输入用户名和对应的密码就行了邮箱能够留空,用户名和密码必填 修改用户密码能够用: python manage.py changepassword username