2017-11-19 5 views
0

私はDjango 1.11を使用してユーザーアカウントアプリケーションを構築しています。私のアカウントアプリの私のURLは以下のようなコード1です。そしてまた、私はそこにテンプレート/登録フォルダといくつかのテンプレートファイルを持っている:私は入力メールアドレスを後 enter image description hereDjangoエラー: 'password_reset_confirm'の引数が見つからない場合は逆になります。

と、私は次のリンクを電子メールで受信します http://127.0.0.1:8000/account/password-reset/confirm/MQ/4ra-66d3672f1d340589fbf9/

私は、上記のリンクをクリックして、ブラウザは、このリンクにリダイレクト: http://127.0.0.1:8000/account/password-reset/confirm/MQ/set-password/

、エラーが要求されます:

NoReverseMatchで/アカウント/パスワードのリセット/確認/ MQ /設定パスワード/

'password_reset_confirm'を引数なしで取り消します。 1つのパターン(複数可)試してみました:[ 'アカウント/パスワードのリセット/確認/ - /(P [ - \ wの] +?)/ $(P [\ wの] +?)'] リクエスト方法: リクエストURLをGET :http://127.0.0.1:8000/account/password-reset/confirm/MQ/set-password/ Djangoのバージョン:1.11.7 例外の種類:NoReverseMatch 例外値:見つからない引数なし​​の 'password_reset_confirm' の
リバース。 1つのパターンが試されました:['アカウント/パスワードリセット/確認/(?P [ - \ w] +)/ $']

この問題を解決するために。リンクをクリックすると、Djangoはtemplates/registrationフォルダの下にpassword_reset_confirm.htmlを表示しません。

コード1:

# restore password urls 
    url(r'^password-reset/$', auth_views.PasswordResetView.as_view(), name='password_reset'), 
    url(r'^password-reset/done/$', auth_views.PasswordResetDoneView.as_view(), name='password_reset_done'), 
    url(r'^password-reset/confirm/(?P<uidb64>[-\w]+)/(?P<token>[-\w]+)/$', 
     auth_views.PasswordResetConfirmView.as_view(), name='password_reset_confirm'), 
    url(r'^password-reset/complete/$', 
     auth_views.PasswordResetCompleteView.as_view(), name='password_reset_complete'), 

答えて

0

DjangoのエラーメッセージがあなたのコードがそのURLにpassword_reset_confirmを逆転しようとしたことを言っているが、あなたは、URLパターンが必要であることuid64token引数を与えていません。私は、DjangoはURLに名前を逆にすることができ、URLの名前「password_reset_confirm」を設定している

reverse('password_reset_confirm',args=(uid64, token)) 
+0

:あなたはreverse()を実行すると引数を供給するためにそれを更新し、あなたのコードのセクションを見つけなければなりません。 –

関連する問題