Django urls - 找不到 'url name' 的反向
Django urls -Reverse for 'url name' not found
我有一个名为 polls 的 Django 应用程序。
我正在尝试在模板中使用表单,它的操作正在调用另一个 url。
mysite/urls.py:
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>
我得到的错误:
无反向匹配:
Reverse for 'login' not found. 'login' is not a valid view function or
pattern name.
知道为什么吗?
改变你的主要url模式
来自
urlpatterns = [
url(r'^$', include('polls.urls')),
url(r'^admin/', admin.site.urls),
]
至此
urlpatterns = [
url(r'^', include('polls.urls')),
url(r'^admin/', admin.site.urls),
]
和模板表单
<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>
我有一个名为 polls 的 Django 应用程序。 我正在尝试在模板中使用表单,它的操作正在调用另一个 url。 mysite/urls.py:
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>
我得到的错误: 无反向匹配:
Reverse for 'login' not found. 'login' is not a valid view function or pattern name.
知道为什么吗?
改变你的主要url模式
来自
urlpatterns = [
url(r'^$', include('polls.urls')),
url(r'^admin/', admin.site.urls),
]
至此
urlpatterns = [
url(r'^', include('polls.urls')),
url(r'^admin/', admin.site.urls),
]
和模板表单
<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>