亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

對(duì)django views中 request, response的常用操作詳解

 更新時(shí)間:2019年07月17日 18:32:31   作者:orangleliu  
今天小編就為大家分享一篇對(duì)django views中 request, response的常用操作詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

request

獲取post請(qǐng)求中的json數(shù)據(jù)

def hello(request):
 data = json.loads(request.body)
 ...

json格式還有一些 非表單序列化 的格式,都可以從 request.body 中獲取請(qǐng)求體中的數(shù)據(jù),對(duì)于ajax請(qǐng)求可以使用 request.is_ajax() 來(lái)判斷

根據(jù)請(qǐng)求的信息獲取base url(有時(shí)候服務(wù)的域名比較多,還是需要?jiǎng)討B(tài)的拼接一下url信息)

# url http://wificdn.com:8888/wxpay/qrcode2/16122010404238801544?name=lzz
request.get_host() # wificdn.com:8888
request.get_full_path() # u'/wxpay/qrcode2/16122010404238801544?name=lzz'

request.build_absolute_uri('/') # 'http://wificdn.com:8888/'
request.build_absolute_uri('/hello') # 'http://wificdn.com:8888/hello'
request.build_absolute_uri() # 'http://wificdn.com:8888/wxpay/qrcode2/16122010404238801544?name=lzz'

request.path # u'/wxpay/qrcode2/16122010404238801544'
request.scheme # 'http'

獲取表單中選中的 checkbox 信息, 例如checkbox的name為 checks

var_list = request.POST.getlist('checks')

返回的是個(gè)list對(duì)象,如果沒(méi)有��️返回 [] ,如果表單中沒(méi)有這個(gè)key也返回 []

response

json格式的響應(yīng) 1.8版本中已經(jīng)提供了 JsonResponse, from django.http import JsonResponse 就可以使用了,低版本的django可以參照源碼自己寫(xiě)一個(gè),幾行代碼就行了。 response 中設(shè)置 cookies 和 header

def xxxxview(request):
 ....

 resp = HttpResponseRedirect('/account/portal/?token=%s' % es)
 resp.set_cookie("coofilter", es, max_age=300)
 resp['Erya-Net-Type'] = NET_TYPE
 resp['Erya-Auth-Host'] = AUTH_HOST
 resp['Erya-Auth-Port'] = AUTH_PORT
 resp['Erya-Auth-Uip'] = ip
 resp['Erya-Auth-Token'] = es
 return resp

session

how to use session, 主要是get和set,和刪除

def post_comment(request, new_comment):
 if request.session.get('has_commented', False):
 return HttpResponse("You've already commented.")
 c = comments.Comment(comment=new_comment)
 c.save()
 request.session['has_commented'] = True
 return HttpResponse('Thanks for your comment!')

def logout(request):
 try:
 del request.session['member_id']
 except KeyError:
 pass
 return HttpResponse("You're logged out.")

cookies

def login(request):
 response = HttpResponseRedirect('/url/to_your_home_page')
 response.set_cookie('cookie_name1', 'cookie_name1_value')
 response.set_cookie('cookie_name2', 'cookie_name2_value')
 return response

def logout(request):
 response = HttpResponseRedirect('/url/to_your_login')
 response.delete_cookie('cookie_name1')
 response.delete_cookie('cookie_name2')
 return response

# 獲取
coo = request.COOKIES.get('coofilter')
# cookies 過(guò)期時(shí)間
hr.set_cookie('user_id', user_id, max_age=300)    

以上這篇對(duì)django views中 request, response的常用操作詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論