Django4.0 使用會(huì)話-測(cè)試cookies設(shè)置

2022-03-16 18:00 更新

為了方便起見,Django 提供一種方法來測(cè)試用戶瀏覽器是否支持cookies。調(diào)用視圖里 ?request.session? 的 ?set_test_cookie()? 方法,并且在后續(xù)視圖里調(diào)用 ?test_cookie_worked()? —— 不是在同一個(gè)視圖里調(diào)用。

由于 cookies 的工作方式, ?set_test_cookie()? 和 ?test_cookie_worked()? 之間尷尬的分割是有必要的。當(dāng)你設(shè)置了一個(gè) cookie,在瀏覽器的下一個(gè)請(qǐng)求之前,實(shí)際上你不能判斷瀏覽器是否接受它。

使用 ?delete_test_cookie()? 來清理是個(gè)好習(xí)慣。在驗(yàn)證測(cè)試的 cookie 可用之后來執(zhí)行它。

這里是一個(gè)典型的用法示例:

from django.http import HttpResponse
from django.shortcuts import render

def login(request):
    if request.method == 'POST':
        if request.session.test_cookie_worked():
            request.session.delete_test_cookie()
            return HttpResponse("You're logged in.")
        else:
            return HttpResponse("Please enable cookies and try again.")
    request.session.set_test_cookie()
    return render(request, 'foo/login_form.html')


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)