Django urls - 找不到“url name”的反向
Posted
技术标签:
【中文标题】Django urls - 找不到“url name”的反向【英文标题】:Django urls -Reverse for 'url name' not found 【发布时间】:2018-06-07 02:39:17 【问题描述】:我有一个名为 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),
]
投票/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>
我得到的错误: 无反向匹配:
未找到“登录”的反向。 “登录”不是有效的视图功能或 模式名称。
知道为什么吗?
【问题讨论】:
【参考方案1】:更改您的主要网址格式
来自
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>
【讨论】:
以上是关于Django urls - 找不到“url name”的反向的主要内容,如果未能解决你的问题,请参考以下文章
URL 错误 404 找不到 Django 页面错误 x.html