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

2022-03-16 18:00 更新

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

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

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

這里是一個典型的用法示例:

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)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號