0
我得到的每個新用戶自動創建用戶帳戶和重定向中間件:如何在使用Django會話的中間件中檢查cookie支持?
class LogNewUser(object):
def process_request(self, request):
user_id = request.session.get('uid', None)
if not user_id:
user = User.objects.create(username=generate_name())
request.session['uid'] = user.pk
return redirect(request.path)
else:
request.user = User.objects.get(pk=user_id)
當然,如果瀏覽器具有的cookie禁用,這將創建一個無限循環的重定向。
我想測試用戶是否啓用cookie,如果是,請執行我的操作,如果沒有,則創建一個特定的用戶對象,這對所有非cookie用戶都是相同的。
我嘗試了request.session.set_test_cookie()
和request.session.test_cookie_worked()
的不同組合,但我無法找到我想要的方式。
檢查cookie的問題是,您可以設置一個cookie,但僅在下一個請求中檢查它... – Jingo
我知道問題,我正在尋找解決方案。我昨天凌晨4點發現的! –
不錯,所以請讓我們知道:) – Jingo