Django 使用request獲取瀏覽器發送的參數(Django編程-5)


1.url:需要正則去匹配

url(r'^index/(num)/$',view.index)

匹配到的參數會自動傳入對應的視圖函數

也可以給匹配到的參數起名字?P

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
 # 獲取GET后面的數據(獲取查詢字符串數據)
 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 = request.method
 # 獲取文件
 file_obj = request.FILES.get('image')
 return resp


免責聲明!

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



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