2017-12-26 11 views
0

Ich habe eine Django-Anwendung namens Umfragen. Ich versuche ein Formular in einer Vorlage zu verwenden, dass die Aktion eine andere URL aufruft. mysite/urls.py:Django URLs -Reverse für 'URL-Name' nicht gefunden

from django.conf.urls import include, url 
from django.contrib import admin 
urlpatterns = [ 
    url(r'^$', include('polls.urls')), 
    url(r'^admin/', admin.site.urls), 
] 

polls/urls.py:

from django.conf.urls import url 
from . import views 
app_name = 'polls' 
urlpatterns = [ 
    url(r'^$', views.call_login, name='call_login'), 
    url(r'^homepage/$', views.login, name='login'), 
] 

login.html:

<form name="form" method="post" action="{% url 'login' %}" > 
    {% csrf_token %} 
    <input type="text" placeholder="username" name="user"><br> 
    <input type="password" placeholder="password" name="password"><br> 
    <input type="submit" value="Login" /> 
</form> 

Der Fehler Ich habe: NoReverseMatch:

Reverse für 'Login' nicht gefunden. 'Login' ist keine gültige Ansichtsfunktion oder Mustername.

Irgendeine Idee warum?

Antwort

1

Haupt URL-Muster

von

urlpatterns = [ 
    url(r'^$', include('polls.urls')), 
    url(r'^admin/', admin.site.urls), 
] 

dieser

urlpatterns = [ 
    url(r'^', include('polls.urls')), 
    url(r'^admin/', admin.site.urls), 
] 

und Schablonenform

<form name="form" method="post" action="{% url 'polls:login' %}" > 
    {% csrf_token %} 
    <input type="text" placeholder="username" name="user"><br> 
    <input type="password" placeholder="password" name="password"><br> 
    <input type="submit" value="Login" /> 
</form> 
+0

dank ändern !! es hat perfekt funktioniert !! – user7080065

Verwandte Themen