新しいユーザーごとにユーザーアカウントを自動的に作成してリダイレクトするミドルウェアを入手しました。
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()
ましたが、やりたいことを実行する方法が見つかりません。