2016-07-13 9 views
0

Ich brauche Hilfe auf django 1.8DJANGO PYTHON: NoReverseMatch at: Reverse für 'views.login' mit Argumenten '()' und Schlüsselwortargumente '{}' nicht gefunden. 0 Muster (n) versucht: []

ERROR:
Ausnahmetyp: NoReverseMatch
Ausnahmewert: Reverse für 'views.login' mit Argumenten '() 'und Schlüsselwortargumente' {} 'nicht gefunden. 0-Muster (n) versucht: []

urls.py

urlpatterns = [ 
    url(r"^login/$", TemplateView.as_view(template_name = 'auth/login.html')) 
] 

login.html

<html> 
    <body> 
     <!-- action = "{% url 'connecte_login' %}" --> 
     <form name = "form" action = "{% url 'views.login' %}" method = "POST" > 
      {% csrf_token %} 
     <div style = "max-width:470px;"> 
      <center> 
       <h5> <font color="blue">KEYSTONE AUTHENTIFICATION </font> </h5> 

       <b>Username :</b> <input type = "text" style = "margin-left:7%;" 
        placeholder = "Identifiant" name = "username" /> 
      </center> 
     </div> 

     </form> 
    </body> 
</html> 

views.py

from django.shortcuts import render,redirect 
from .forms import * 

def login(request): 
    return render(request, "auth/authSuccess.html", context_dic) 

authSuccess.html

<html> 
    <body> <b>IT WORKS !</b> </body> 
</html> 

Ich weiß nicht, warum es mir diesen Fehler gibt!

danke.

+0

Es gibt mindestens 10 doppelte Fragen rechts im entsprechenden Abschnitt. Bitte versuchen Sie das Problem zuerst selbst zu lösen. – Sayse

+0

Mögliche Duplikate von [Django Reverse Fehler NoReverseMatch] (http://StackOverflow.com/Questions/7378323/Django-Reverse-error-Noreversematch) – Sayse

+0

Ich sah sie, aber es hat mir nicht geholfen :( –

Antwort

0

Wie @Sayse in seiner comment sagt, wurde Ihnen in der Dokumentation gesagt, dass Sie Ihrer Ansicht einen Namen geben sollten, um Reverse Lookup zu verwenden. Um zu verstehen, wie es funktioniert, müssen Sie sich django.core.urlresolvers.RegexURLResolver#_reverse_with_prefix Methode ansehen. Hier in Zeile 462 (Django 1.9) führt es possibilities = self.reverse_dict.getlist(lookup_view) aus, wobei lookup_view Ihr 'views.login' Argument des URL-Schablonentags ist. Du hast also diesen Namen nicht - es wird nicht funktionieren.

Hovever Sie können verwenden voll gepunkteten Pfad so zu Ihrer Ansicht:

{% url 'path.to.some_view' v1 v2 %}

Nicht views.view aber app.views.view. Aber Sie sollten nicht dies tun, da es veraltet ist und in Django 1.10 entfernt wird. Hoffe es wird dir helfen.