2016-08-05 4 views
3

Ich habe gerade auf Django v1.10 aktualisiert und ich laufe durch Tests zu überprüfen, alles funktioniert gut, aber ich habe Reverse for 'django.contrib.auth.views.login' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: [] auf meiner Anmeldeseite bekommen.NoReverseMatch folgende v1.9 to v1.10 upgrade

Ich benutze Django-Registrierung und habe einen Anruf gemacht, um die Login-Seite mit <a href="/accounts/login/">Login</a> zu bekommen.

Ich bekomme dann die Fehlermeldung gegen die HTML und es ist <form method="post" action="{% url 'django.contrib.auth.views.login' %}">, die den Fehler hochwerfen.

<div class="container"> 
    <div class="row text-center"> 
    <div class="col-sm-12"> 
      <form method="post" action="{% url 'django.contrib.auth.views.login' %}">{% csrf_token %} 
      <span style="color:green">{{msg}}</span><br> 
      <table align="center">{{ form }}</table> 
      <button type="submit" class="btn btn-primary btn-sm">Login</button> 
      </form> 
      <a href="/password/recover" class="btn btn-primary btn-sm">Forgotten Password</a> 
    </div> 
    </div> 
</div> 

ich nicht urls.py geändert haben, das sieht beinhaltet:

url(r'^accounts/', include('registration.backends.hmac.urls')), 

Ich habe nichts geändert 1,9-1,10 gehen (und was ich verändert versuchen, dies zu beheben ich rückgängig gemacht habe) . Jede Hilfe wurde dankbar angenommen.

Antwort

2

Von Django 1.10 release notes:

Die Fähigkeit, reverse() URLs eine punktierte Python Pfad entfernt wird.

Das Vorlagen-Tag url verwendet reverse(). Somit ist dies nicht mehr gültig:

{% url 'django.contrib.auth.views.login' %} 

Sie die Routennamen verwenden.

Weitere Informationen finden Sie unter Django 1.8 release notes.

+1

Sie müssen den Routennamen verwenden, der "login" lauten sollte. – Alasdair

+0

danke - so einfach – HenryM