1. Django项目框架:
DjangoWeb
|---- DjangoWeb
|--- settings.py # 配置文件
|--- urls.py # url管理系统
|--- wsgi.py # wsgi服务器接口
|---- templates # 模板
|---- app # 具体app
|--- migrations # 迁移
|--- static # 静态文件(js,css,img)
|--- admin.py # 数据库管理
|--- apps.py # 用于向settings.py中注册app
|--- models.py # 连接数据库, 操作数据
|--- test.py
|--- views.py # 视图函数
|--- urls.py # 属于该app的url分系统
2. 基本命令:
1>. python manage.py startapp app_name # 创建app
# 创建新的app后, settings中注册
INSTALLED_APPS = [
'blog.apps.BlogConfig',
]
2>. python manage.py runserver ip:port # 运行项目
3>. python manage.py makemigrations # 生成数据库表单文件
4>. python manage.py migrate # 创建数据库表单
5> python manange.py shell # 进入该django项目的环境
请求生命周期: 1.客户端发送HTTP请求
*. 中间件
2. 服务器的url管理系统根据其url匹配
3. 匹配成功则执行ViewFunction: 1. FBV: url --> 函数
2. CBV: url --> 类 --> 获取请求的方法post/get --> 执行相应的函数
/****** views.py *******/
from django.views import View
class CBV(View):
def dispatch(self,req,*args,**kwargs):
# other code
result = super(CBV,self).dispatch(req,*args,**kwargs)
return result
def get(self,req): pass
def post(self,req):pass
/******* urls.py ******/
url(r'^test$',view.CBV.as_view())
* 执行过程: url --> CBV --> dispatch分配函数(反射) --> get --> dispatch 返回值
|__> post------^
4. 业务处理: 1>. 操作数据库: 原始sql
orm
2>. 响应内容:
response = HTTPResponse('响应体')
response['key'] = 'value' # 响应头
response.set_cookie('key','value') # 响应体
return response