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')],

 

posted @ 2018-11-08 13:43  BigBao的博客  阅读(378)  评论(0编辑  收藏  举报