Django(part9)--GET请求
生活随笔
收集整理的這篇文章主要介紹了
Django(part9)--GET请求
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學習筆記,僅供參考
GET請求
客戶端傳遞查詢參數給服務端
URL格式:
網址?參數名1=值1&參數名2=值2&...&參數名n=值n比如:
https://www.baidu.com/s?wd=%E5%9E%82%E8%80%B3%E5%85%94&rsv_spt=1&rsv_iqid=0xfd4f92ad00024f66&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&tn=88093251_36_hao_pg&rsv_enter=1&rsv_dl=tb&rsv_sug3=10&rsv_sug1=2&rsv_sug7=101&rsv_sug2=0&rsv_btype=i&inputT=1547&rsv_sug4=3208服務器接收參數
判斷請求方式是否是GET請求
通過request.method的值,判斷請求方式是否是GET請求
if request.method == "GET":處理1 else:處理2獲取客戶端GET請求提交的數據
- 語法
-
能夠產生GET請求方式的場合
-
https://tieba.baidu.com/f?kw=%B4%B9%B6%FA%CD%C3&fr=ala0&tpl=5
- <a href="地址?參數名1=值1&參數名2=值2">
-
表單中的method為get
-
舉個例子
views.py
def page_test01(request):value_a = request.GET['a']HTML = "參數值為:" + value_areturn HttpResponse("請求成功" + HTML)urls.py
urlpatterns = [path('admin/', admin.site.urls),re_path(r'test1/', views.page_test01),re_path(r'test2/', views.page_test02),]向http://127.0.0.1:8000/test1/?a=100發起請求:
請求成功
但,若我們向http://127.0.0.1:8000/test1/?b=100發起請求,則會報錯:
這是因為,若在URL中國寫入b=100,則相當于創建了一個字典request.GET = {“b”:“100”},由于該字典中沒有a鍵,所以request.GET[“a”]會報錯。
現在,我們更改一下視圖函數:
def page_test01(request):value_a = request.GET.get("a", "沒有值")HTML = "參數值為:" + value_areturn HttpResponse("請求成功" + HTML)再次向http://127.0.0.1:8000/test1/?b=100發起請求:
同時,我們也可以在URL中設置多個查詢參數,比如http://127.0.0.1:8000/test1/?a=50&b=100
我們再更改一下視圖函數:
def page_test01(request):html = ""for k in request.GET:html += "參數" + k + "的值為" + request.GET[k] + "<br>"return HttpResponse("請求成功 <br>" + html)向http://127.0.0.1:8000/test1/?a=50&b=100發起請求:
總結
以上是生活随笔為你收集整理的Django(part9)--GET请求的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django(part8)--响应及Ht
- 下一篇: Django(part10)--POST