繁体   English   中英

如何修复 django 中的无反向匹配?

[英]How can I fix the No Reverse Match in django?

我有这个错误,我不知道为什么,这是我的代码。

from django.urls import path
from basic_app import views

app_name = 'basic_app'

urlpatterns = [
    path('relative/', views.relative, name = 'relative'),
    path('other/',views.other,name='other')
]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>WELCOME TO RELATIVE URL TEMPLATES</h1>
    <a href="{% url 'basic_app: other' %}">Link</a>
    
</body>
</html>

我不确定为什么会出现此错误,因为我按原样放置格式,或者其中是否有任何更新?

我猜它与语法有关。 我不确定您是否需要在 html 中指定应用程序名称,因为视图会处理该名称。

如果您只是将 href 更改为"{% url 'other' %}" ,我认为它应该可以工作。

但是我认为最好将应用程序的名称放在路径的名称中,如果你改变了我认为你想要这样做

path('other/',views.other,name='other')

path('other/',views.other,name='basic_app: other')

它也应该工作

正如 Tilen Pintarič 所说,您的语法可能不正确。

但是,如果您将 href 更改为“{% url 'other' %}”,则可能会导致错误,因为您的 url 是命名空间的。

来自django 文档

如果您想检索命名空间 URL,请指定完全限定名称:
{% url 'myapp:view-name' %}



相反,您应该尝试删除“basic_app”和“other”之间的空格。
编辑您的模板标签

<a href="{% url 'basic_app: other' %}">Link</a>

<a href="{% url 'basic_app:other' %}">Link</a>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM