1.WEB应用程序的本质,
客户端 浏览器,app,ajax发送http请求,给服务器,gunicorn,uwsgi进行解析,给django框架接受请求对象,进行业务逻辑处理,视图处理,返回响应
2.MVT
![](http://img.e-com-net.com/image/info10/e5b062d4a6d14797a34300a4fca36ea0.jpg)
用户发送请求给view,接受请求,通过model用于和数据库交互,进行查询.然后进行业务逻辑处理,将对象转换字典,给Temlate.给view返回响应
3.虚拟环境
mkvir 创建虚拟环境
pip install django==1.11.11 安装django版本
rmvir 删除
workon 查看 使用
deactive 退出
4.创建工程
django-admin startproject 工程名字
![](http://img.e-com-net.com/image/info10/a671df9b06634c8e8a56769e2d3b03e5.jpg)
settings.py是项目的整体配置文件。
urls.py是项目的URL配置文件。
wsgi.py是项目与WSGI兼容的Web服务器入口。
manage.py是项目管理文件,通过它管理项目。
运行工程 python manage.py runserver ip:端口
5.创建子应用(功能模块,即蓝图)
python manage.py startapp 子应用名
![](http://img.e-com-net.com/image/info10/e99288e6cc7948d596e1ec1b0b8a3e39.jpg)
admin.py文件跟网站的后台管理站点配置相关。
apps.py文件用于配置当前子应用的相关信息。
migrations目录用于存放数据库迁移历史文件。
models.py文件用户保存数据库模型类。
tests.py文件用于开发测试用例,编写单元测试。
views.py文件用于编写Web应用视图。
注册子应用
![](http://img.e-com-net.com/image/info10/7a5fe9b8dcd24b9f9046352ca0385260.jpg)
子应用名.apps.子应用名首字母大写Config
设置虚拟环境
which python 路径
6.模型类
继承自django.db 的models.Model
```
from django.db import models
# Create your models here.
# 准备书籍列表信息的模型类
class BookInfo(models.Model):
# 创建字段,字段类型...
name = models.CharField(max_length=10)
# 准备人物列表信息的模型类
class PeopleInfo(models.Model):
name = models.CharField(max_length=10)
gender = models.BooleanField()
# 外键约束:人物属于哪本书
book = models.ForeignKey(BookInfo)
```
迁移(建表)
python manage.py makemigrations 生成迁移文件
python manage.py migrate 执行迁移,在数据库中建表
sqlite3 小型关系型数据库,主要用于移动端