<dfn id="rztjt"></dfn>
<rp id="rztjt"><strike id="rztjt"><output id="rztjt"></output></strike></rp><rp id="rztjt"><strike id="rztjt"></strike></rp>

<sub id="rztjt"></sub>

      
      

        老男孩IT教育,只培養技術精英!

        官方微信 官方博客 免費咨詢電話:15221969328
        您的位置:首頁 > 實時動態 > 專題講座 > Django框架-視圖層

        Django框架-視圖層

        發布時間:2021.03.10 閱讀量:4837

        視圖函數并不一定就是函數,也可以是類,django的視圖層由兩種形式構成:FBV和CBV FBV:基于函數的視圖,所以我們在學習的時候一定要區分開,下面我們一起來看看注意要點吧!


        一 視圖函數
        視圖函數,簡稱視圖,屬于Django的視圖層,默認定義在views.py文件中,是用來處理web請求信息以及返回響應信息的函數,所以研究視圖函數只需熟練掌握兩個對象即可:請求對象(HttpRequest)和響應對象(HttpResponse)

         

        二 請求對象(HttpRequest)
        django將http協議請求報文中的請求行、首部信息、內容主體封裝到了HttpRequest對象中(類似于我們自定義框架的environ參數)。 django會將HttpRequest對象當做參數傳給視圖函數的第一個參數request,在視圖函數中,通過訪問該對象的屬性便可以提取http協議的請求數據

        2.1、HttpRequest對象常用屬性part1
        一.HttpRequest.method
          獲取請求使用的方法(值為純大寫的字符串格式)。例如:"GET"、"POST"
           應該通過該屬性的值來判斷請求方法

        二.HttpRequest.GET
          值為一個類似于字典的QueryDict對象,封裝了GET請求的所有參數,可通過HttpRequest.GET.get('鍵')獲取相對應的值
          
        三.HttpRequest.POST
           值為一個類似于字典的QueryDict對象,封裝了POST請求所包含的表單數據,可通過HttpRequest.POST.get('鍵')獲取相對應的值
           
           針對表單中checkbox類型的input標簽、select標簽提交的數據,鍵對應的值為多個,需要用:HttpRequest.POST.getlist("hobbies")獲取存有多個值的列表,同理也有HttpRequest.GET.getlist("鍵")
        案例:

        urls.py
        from django.urls import re_path
        from app01 import views

        urlpatterns = [
            re_path(r'^login/$',views.login),
        ]
        Views.py
        from django.shortcuts import render,HttpResponse

        def login(request):
            if request.method == 'GET':
                # 當請求url為:http://127.0.0.1:8001/login/?a=1&b=2&c=3&c=4&c=5
                # 請求方法是GET,?后的請求參數都存放于request.GET中
                print(request.GET)
                # 輸出

                # 獲???后參數的方式為
                a=request.GET.get('a') # 1
                b=request.GET.get('b') # 2
                c=request.GET.getlist('c') # ['3', '4', '5']

                return render(request,'login.html')
            elif request.method == 'POST':
                # 在輸入框內輸入用戶名egon、年齡18,選擇愛好,點擊提交
                # 請求方法為POST,表單內的數據都會存放于request.POST中
                print(request.POST) 
                # 輸出

                # 獲取表單中數據的方式為
                name=request.POST.get('name') # egon
                age=request.POST.get('age') # 18
                hobbies=request.POST.getlist('hobbies') # ['music', 'read']

                return HttpResponse('提交成功')
        在templates目錄下新建login.html

        中国gay粉嫩小帅fuck_国产雏女破苞在线播放_成在人线av无码免费看_王者荣耀正能量不良网站

        <dfn id="rztjt"></dfn>
        <rp id="rztjt"><strike id="rztjt"><output id="rztjt"></output></strike></rp><rp id="rztjt"><strike id="rztjt"></strike></rp>

        <sub id="rztjt"></sub>