2017-08-26 20 views
0

私はdjango(1.10)のデフォルトパスワードリセット機能を使用しています。パスワードリセットフォームからパスワードを変更すると、以下のエラーが表示されます。NoReverseMatch at djangoパスワードリセット機能

Reverse for 'login' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: [] 

Template error: 
In template C:\pyprojects\cias\ciasproj\ciassite\templates\registration\password_reset_complete.html, error at line 5 
    Reverse for 'login' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: [] 1 : {% extends 'base.html' %} 
    2 : 
    3 : {% block content %} 
    4 : <p> 
    5 :  Your password has been set. You may go ahead and <a href=" {% url 'login' %} ">sign in</a> now. 
    6 : </p> 
    7 : {% endblock %} 

レジスタ/ password_reset_complete.html

{% extends 'base.html' %} 

{% block content %} 
    <p> 
    Your password has been set. You may go ahead and <a href="{% url 'login' %}">sign in</a> now. 
    </p> 
{% endblock %} 

アカウント/ urls.py - 私は

{% url reverse('account_login:login') %} 

しかし、そのようなHTMLのリンクを変更しようとした

urlpatterns = [ 
    url(r"^signup/$", views.signup, name="account_signup"), 
    #url(r'^login/$', views.login, {'template_name': 'accounts/login.html'}, name='login'), 
    url(r'^login/', views.login_view, name='account_login'), 
    url(r'^logout/$', auth_views.logout, {'next_page': '/account/login'}, name='logout'), 
    url(r'^confirmemail/$', views.confirmemail, name='account_confirmemail'), 
    url(r'^activate/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',views.activate, name='activate'), 
    url(r'^activate/',views.activate, name='empty_activate'), 
     url(r'^password_reset/$', auth_views.password_reset, name='password_reset'), 
    url(r'^password_reset/done/$', auth_views.password_reset_done, name='password_reset_done'), 
    url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,23})/$', 
     auth_views.password_reset_confirm, name='password_reset_confirm'), 
    url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', 
    auth_views.password_reset_confirm, name='password_reset_confirm'), 
    url(r'^reset/done/$', auth_views.password_reset_complete, name='password_reset_complete'), 
] 

別のエラーが発生しています -

Could not parse the remainder: '('account_login:login')' from 'reverse('account_login:login')' 

ご協力いただきありがとうございます。前もって感謝します。

+0

はい、機能しましたが、ログインテンプレートが失われました。ログインページにエラーが表示されました。 'login()は予期しないキーワード引数 'template_name'を持っています –

答えて

2

ここでは、あなたが欠けている簡単なことだと思います。あなたがそこにURLリストで与えている名前が何であれ、あなたはそれだけを使うことができます。登録済みの名前空間を持つアプリがある場合は、それを使用する必要があります。

この場合、直接事項を定義しているため、そのような方法でのみURLを使用する必要があります。

{%url 'login'%}の代わりに、{%url 'account_login'%}にする必要があります。

あなたがURLパターンに与えたちょうど名前。