我有一个中间件,可以为每个新用户自动创建一个用户帐户并重定向:
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()
我找不到我想要的方法。