【问题标题】:Django urls -Reverse for 'url name' not foundDjango urls - 找不到“url name”的反向
【发布时间】: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>

我得到的错误: 无反向匹配:

未找到“登录”的反向。 “登录”不是有效的视图功能或 模式名称。

知道为什么吗?

【问题讨论】:

    标签: django django-forms django-templates django-urls


    【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-23
      • 2014-09-18
      • 1970-01-01
      • 1970-01-01
      • 2018-01-28
      • 2010-10-12
      • 2013-10-05
      相关资源
      最近更新 更多