django 使用 request 獲取瀏覽器發送的參數


django 使用 request 獲取瀏覽器發送的參數
轉載請注明出處 https://blog.csdn.net/fanlei5458/article/details/80638348

獲取數據(四種方式)

1. url: 需要正則去匹配 url(r'^index/(num)/$', view.index) 匹配到的參數會自動傳入對應的視圖函數 也可以給匹配到的參數起名字?P<num> url(r'^index/(?P<num1>\d*)(?P<num2>\w*)$',) 使用url傳參的時候,要么都使用位置參數,要么都使用給參數起名字的方式 也可以通過request.path獲取到url然后獲取相應的參數. 如訪問127.0.0.1:8000/index/ 則request.path = '/index/' 2. ?號后面的鍵值對(又叫查詢字符串): 如 index/?num=55&num2=66&num=77 request.GET.get('num') # 獲取的是77 request.GET.getlist('num') # 獲取num的所有值 request.GET.get('num2') 3. 請求體 request.POST.get() 獲取表單數據 request.body 獲取非表單數據,如json request.body返回的是一個byte的對象 b'{"key":"value"}',可以通過下面方式獲取值 data = eval(request.body.decode()).get('key') data1 = json.loads(request.body).get('key') #如果request.body沒有數據上面兩條語句都會報錯 4. 報文頭 request.META 獲取請求頭信息, django會自動把獲取到的請求頭全部轉化為大寫,並在前面加上HTTP,如: 請求頭: User-Agent:***** 獲取方式: request.META.get('HTTP_USER_AGENT') 

 

  • 代碼示例(獲取請求數據)
# 獲取正則匹配到的數據,num1未位置參數,num2為命名參數, def index(request,num2=None, num1=None): print(num2) # 構造響應數據 reNT') sp = HttpResponse('hello world') # 獲取請求頭 header = request.META.get('HTTP_USER_AGE) # 獲取地址 path = request.path # 獲取 ? 后面的數據(獲取查詢字符串數據) para = request.GET # 獲取json數據 json_data = request.body data = eval(request.body.decode()).get('asd') data1 = json.loads(request.body).get('asd') # 獲取表單數據 form_data = request.POST # 獲取請求方法 method = reques


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM