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號並點擊提交按鈕