Django Http請求生命週期

day54html

請求響應Httpdjango

  一、發送Http請求服務器

  二、服務器接收,根據請求頭中的的url在路由關係表中進行匹配(從上到下)app

  三、匹配成功後,執行指定的views函數函數

  四、業務處理post

 

 

    URL----》函數       (FBV---->function base views)url

    URL---->類    (CBV)spa

    CBV 的寫法:htm

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的時候,使用下面的代碼blog

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的流程一、Pycharm建立一個Django項目,添加一個app應用二、靜態文件配置 STATICFILES=(os.path.join(BASE_DIR,'static')) 三、app註冊 settings.py---INSTALLED_APPS-->'appname'四、模板路徑建立 settings.py--->TEMPLATES--->'DIRS': [os.path.join(BASE_DIR,'templates')],

相關文章
相關標籤/搜索