django學習-28.表單提交方式之一:get請求

1.寫這篇博客的目的

記錄表單提交方式get請求結合幾個常見場景實例如何使用,以後即使我太久沒用導致不會這個get請求的用法,也能通過查看這篇博客快速進行復習;

相關三個場景實例分別是:

  • 場景實例一:獲取前端請求後,對請求數據不做處理,都會統一返回一個特定的結果;
  • 場景實例二:獲取前端請求後,對請求數據做處理(請求數據不涉及跟數據表數據的對比校驗),對不同的處理結果都會返回對應特定的結果;
  • 場景實例三:獲取前端請求後,對請求數據做處理(請求數據涉及跟數據表數據的對比校驗),對不同的處理結果都會返回對應特定的結果;

 

 

 

每個場景實際的具體實現可以分別看接下來的完整操作流程;

 

2.三個場景實際的完整操作流程

2.1.【場景實例一:獲取前端請求後,對請求數據不做處理,都會統一返回一個特定的結果;】的完整操作流程

2.1.1.第一步:在項目【helloworld/hello/templates】裏新增一個【qq_test.html】

細節:

①. 表單在html文件裏由<form>標籤實現。一個完整的表單包含四個部分:提交地址、請求方式、元素控件、提交按鈕。四個部分的作用分別如下:

  • action       提交地址(設置用戶提交的數據由哪個url接收和處理)
  • method    請求方式(主流常用的請求方式有get和post)
  • input        元素控件(輸入文本信息)
  • submit     提交按鈕(觸發提交動作/觸發對接收請求的url的訪問)

②.在html文件裏,每個標籤比如【<form>】可以理解爲是一個類;每個標籤裏的屬性比如【標籤<form>裏的屬性action】可以理解爲是一個方法;(python語言中,有類和方法的概念)

③.屬性action的值的相關知識點:

  • 如果值爲空字符串,表示:請求數據是提交給當前html頁面;
  • 如果值爲一個url匹配規則裏的參數name的值,表示:請求數據是提交給這個url匹配規則;
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>測試你的QQ號</title>
</head>
<body>
<p>請輸入你的QQ號</p>

<form action="{% url 'urlName_of_qq_result' %}" method="get">
    qq: <input type="text" name="q"> <br>
    <br>
    <input type="submit" value="提交">
</form>

</body>
</html>

2.1.2.第二步:在項目【helloworld/hello/views.py】裏新增兩個視圖函數

def qq_test1(request):
    return render(request,'qq_test.html')

def qq_result1(request):
    return HttpResponse("這個qq的數據提交成功了!")

2.1.3.第三步:在項目【helloworld/helloworld/urls.py】裏新增兩個url匹配規則

    url(r"^qq_test001/$",views.qq_test1),
    url(r"^qq_result001/$",views.qq_result1,name="urlName_of_qq_result"),

2.1.4.第四步:重啓服務

2.1.5.第五步:任一瀏覽器上訪問url【http://127.0.0.1:8000/qq_test001/】

2.1.6.第六步:在url【http://127.0.0.1:8000/qq_test001/】對應的頁面裏的提交字段【qq】裏輸入任一qq號並點擊提交按鈕

 

 

 

 

2.2.【場景實例二:獲取前端請求後,對請求數據做處理(請求數據不涉及跟數據表數據的對比校驗),對不同的處理結果都會返回對應特定的結果;】的完整操作流程

2.2.1.第一步:在項目【helloworld/hello/views.py】裏修改視圖函數【qq_result1】

def qq_result1(request):
    # return HttpResponse("這個qq的數據提交成功了!")

    if request.method == 'GET':
        qq_value = request.GET.get("q",None) # 這個寫法比較穩
        # qq_value = request.GET["q"]    # 這個寫法也可以
        result = ""
        try:
            if int(qq_value)%2 ==0:
                res = "這個qq號是偶數"
            else:
                res = "這個qq號是奇數"
        except:
            res = "請輸入正確的qq號"

        return  HttpResponse("測試結果:%s"%res)

 

 

2.2.2.第二步:重啓服務

2.2.3.第三步:任一瀏覽器上訪問url【http://127.0.0.1:8000/qq_test001/】

2.2.4.第四步:在url【http://127.0.0.1:8000/qq_test001/】對應的頁面裏的提交字段【qq】裏輸入任一qq號並點擊提交按鈕

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章