0

Djangoの電子メールリセットビューを設定する方法についていくつかのオンラインチュートリアルに従っていますが、それでも逆一致エラーが発生します:

Reverse for 'django.contrib.auth.views.password_reset_confirm' with arguments '()' and keyword arguments '{'uidb36': '2', 'token': '3fk-e9d14405e0aaf252475e'}' not found

私のURL設定は次のようになります。

url(r'^login_retrieval/$', 'django.contrib.auth.views.password_reset', 
    {'post_reset_redirect' : '/login_retrieval_done/',
     'template_name' : 'core/password_reset_form.html'}),
url(r'^login_retrieval_done/', 'django.contrib.auth.views.password_reset_done'),
url(r'^password_reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm', 
    {'post_reset_redirect' : '/user/password/done/'}),
url(r'^user/password/done/$', 
    'django.contrib.auth.views.password_reset_complete'),

メールアドレス入力ページにアクセスできますが、[メールを送信]をクリックすると、逆一致エラーが返されます。

誰か助けてもらえますか?

ありがとう。

4

1 に答える 1

0

Django 1.6 以降にアップデートしましたか?

その場合は、に置き換えるだけuidb36ですuidb64。これは{% url ... %}、テンプレート内のreverse()呼び出し、Python コード内の呼び出し、および urls.py 内の正規表現に適用されます。

urls.py から 1 つの例を選択します。

url(r'^password_reset/(?P<uidb64>[0-9A-Za-z]+)-(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm', 
    {'post_reset_redirect' : '/user/password/done/'}),

Django 1.6 リリース ノートを参照してください。

于 2014-10-23T15:49:27.507 に答える