NoReverseMatch错误Djang

2024-06-28 10:57:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用多个应用程序构建Django项目,因此对每个应用程序使用urls.py。当Django试图访问视图时,我遇到了一个NoReverseMatch错误。你知道吗

urls.py

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^intface/', intface),
    url(r'^', include("userapp.urls", namespace="userapp")),
]

userapp/urls.py

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

user.html

<form method="POST" action="{% url "userapp:user" %}" >

错误:

NoReverseMatch at /user/

Reverse for 'user' not found.
'user' is not a valid view function or pattern name.

请帮帮我!你知道吗


Tags: djangonamepyview应用程序urladminhtml
2条回答

用户应用程序网址.py(添加名称):

urlpatterns=[
    url(r'^user/', TemplateView.as_view(template_name="user.html"), name='user')
]
<form method="POST" action="{% url "userapp:user" %}" >

在上面的一行中,当你说userapp:user时,它意味着名称空间=userapp和url\u name=user。你知道吗

通过在以下行中设置命名空间,您已经做了一件正确的事情:

url(r'^', include("userapp.urls", namespace="userapp")),

但您尚未在此行中设置url\u名称:

url(r'^user/', TemplateView.as_view(template_name="user.html"))

因此,将上一行更改为下一行以设置url的名称:

url(r'^user/', TemplateView.as_view(template_name="user.html"), name="user")

现在你的错误应该消失了。你知道吗

相关问题 更多 >