ユーザーがログインすると、オール認証アプリケーションを設定した後、彼はaccounts/profile/
ページにリダイレクトされます。このページは、存在しない。Django全認証アプリ、カスタムビューを表示する/アカウント/プロフィールページを変更する方法
私はそこにどのようなものを含めるかを考えて、ユーザーが基本情報を変更できるようにすることを決めました。
私は次のように設定されてTeacher
モデル、とusers
アプリがあります。私はこの情報を含む、フォームを表示するaccounts/profile/
ページをしたい
class Teacher(models.Model):
user = models.ForeignKey(User, unique=True)
rate = models.CharField(max_length=200)
availability = models.BooleanField(default=False)
verified = models.BooleanField(default=False)
を。ユーザーはこれらのフィールドを編集したり、別のモデル(User
)に属しているファーストネーム、姓、メールを編集することもできます。
私はこれを始められないようです。私はプロフィールページの詳細ビューを作成したとき、私はというエラーを取得:
ないPKまたはSLUGは、私は、主キーに基づいていない、Djangoは現在のユーザー情報を変更したい
を提供しましたURLにカスタムビューが必要ですか?私は[その他のソリューション1 を見てきましたが、秘密鍵のパラメータを利用しているようです。私は必要なもの
は、(はを動作していない)と似たような作業ビュー機能である:
def get_teacher_info(request):
current_user = request.user
teacher = get_object_or_404(Teacher, username=current_user.username)
return render(request, 'account/profile.html', {
'user':current_user,
'teacher': teacher,
'error_message': "The field is blank",
})
とaccounts/urls.py
に私が追加しました:
url(r"^profile/$", views.get_teacher_info, name="account_profile"),
が、私が作るときhtmlテンプレートに{% teacher.rate %}
のような呼び出しがあります。 5行目の無効なブロックタグ: 'teacher.rate'。このタグを登録または読み込むのを忘れましたか?
settings.pyにLOGIN_REDIRECT_URL、ACCOUNT_SIGNUP_FORM_CLASS&ACCOUNT_ADAPTERを設定しましたか? – pije
また、試してみてください:url(r "^ profile/$"、views.get_teacher_info、name = "get_teacher_info")、 – pije
私は上記を設定していませんが、基本的には 'polls'というデフォルトのアプリケーションからコードを取り除いています。そして、それらの変数を設定することなくそこで動作します。私も成功していない2番目のコメントを試した – Roma