您好,登錄后才能下訂單哦!
request
獲取post請求中的json數據
def hello(request): data = json.loads(request.body) ...
json格式還有一些 非表單序列化 的格式,都可以從 request.body 中獲取請求體中的數據,對于ajax請求可以使用 request.is_ajax() 來判斷
根據請求的信息獲取base url(有時候服務的域名比較多,還是需要動態的拼接一下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')
返回的是個list對象,如果沒有��️返回 [] ,如果表單中沒有這個key也返回 []
response
json格式的響應 1.8版本中已經提供了 JsonResponse, from django.http import JsonResponse 就可以使用了,低版本的django可以參照源碼自己寫一個,幾行代碼就行了。 response 中設置 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 過期時間 hr.set_cookie('user_id', user_id, max_age=300)
以上這篇對django views中 request, response的常用操作詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。