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

  • 相关阅读:
    NYOJ135 取石子(二)
    NYOJ448 寻找最大数
    NYOJ20吝啬的国度
    NYOJ47过河问题
    NYOJ199无线网络覆盖
    NYOJ92图像有用区域
    NYOJ287Radar
    NYOJ71独木舟上的旅行
    NYOJ484The Famous Clock
    NYOJ148fibonacci数列(二)
  • 原文地址:https://www.cnblogs.com/smail-bao/p/9928575.html
Copyright © 2020-2023  润新知