Django Http请求生命周期
day54
请求响应Http
1、发送Http请求
2、服务器接收,根据请求头中的的url在路由关系表中进行匹配(从上到下)
3、匹配成功后,执行指定的views函数
4、业务处理
URL----》函数 (FBV---->function base views)
URL---->类 (CBV)
CBV 的写法:
urls.py ------------------------------------------------------------------------------------------- path('cbv',views.CBV.as_view()) ------------------------------------------------------------------------------------------- views.py from django.views import View class CBV(View): def get(self,request): return HttpResponse("CBV get") def post(self,request): return HttpResponse("CBV post")
用户请求----》urlpattern---->CBV(View)源码--->dispatch---->具体的执行方法
后面在实际用CBV的时候,使用下面的代码
from django.views import View class CBV(View): def dispatch(self, request, *args, **kwargs): print("这里写需要执行的逻辑代码,自定义功能,然后走下面的代码,把相应的结果返回给客户端。这样的话我们就不用写一堆的if判断了,会自动匹配 http_method_names") result=super(CBV, self).dispatch(request,*args,**kwargs) return result
请求字符串
请求头(RequestHeader)
请求体
响应字符串
响应头(ResponseHeader)
响应体(Html字符串)
创建project的流程
1、Pycharm创建一个Django项目,添加一个app应用
2、静态文件配置 STATICFILES=(os.path.join(BASE_DIR,'static'))
3、app注册 settings.py---INSTALLED_APPS-->'appname'
4、模板路径创建 settings.py--->TEMPLATES--->'DIRS': [os.path.join(BASE_DIR,'templates')],