Django認証の問題 - アクティブユーザーに最初にプロファイルのセットアップを強制するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/6391270

質問

私は自分自身をやや漬物にしました。私はdjango-registrationを頻繁に使用していますが、ほとんどの状況では機能しているようです。ただし、ユーザーにプロフィールを作成するように要求したい(例:人口統計情報) 彼らが他のページのいずれかにアクセスする前に.

これが、現在のセットアップを実行する方法です。

  1. 訪問者は登録フォームに記入します - (送信)--->
  2. ユーザーの電子メールの確認 - (リンクはアクティブユーザーを作成します)--->
  3. - (プロフィールビューにリダイレクト)--->
  4. ユーザーはプロフィールフォームに記入します - (送信) - >
  5. ユーザーはWebサイトの残りの部分にアクセスできるようになりました

これを行うための推奨方法はありますか?

役に立ちましたか?

解決

それを行う方法の1つは、あなた自身を使うことです @profile_required Djangoが組み込まれているのではなく、デコレーター login_required あなたのすべての意見について。

@login_required
def profile_required(func,request,*args,**kwargs):
    has_profile = request.user.profile_set.count()
    if not has_profile:
        return redirect('create_profile')
    return func(request,*args,**kwargs)

次に、各ビューで、プロフィールを訪問してユーザーに訪問したいだけです。

@profile_required
def my_awesome_view(request):
    ...
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top