python - 未找到“博客/文章”的反向。“博客/文章”不是有效的视图函数或模式名称
问题描述
我目前正在我的 django 网站上做一个导航栏。但是,我在使用网址时遇到了一些问题:
我在一个名为 blogs 的新应用程序中创建了另一个 urls.py。这是代码:
在主 urls.py 中:
from django.contrib import admin
from django.urls import path, include
from translator.views import HomeView, TranslatorView
urlpatterns = [
path('blog/', include('blog.urls')),
path('', HomeView.as_view(), name='home'),
path('translator/<str:phrase>/', TranslatorView.as_view(), name='translator'),
path('translated/', TranslatorView.as_view(template_name='main/translated.html'), name='translated'),
path('admin/', admin.site.urls),
]
在博客 urls.py 中:
from django.urls import path
from .views import ArticleDetailView
app_name = 'blog'
urlpatterns = [
path('', ArticleDetailView.as_view(), name='article' )
]
我想要做的是在导航栏中包含路径 ArticleDetailView (name='article)。所以我编码了这个:
<nav class="navbar fixed-top navbar-expand-lg navbar-light" style='background-color: snow;'>
<div class = 'container'>
<a class="navbar-brand" href="#">
<img src="{% static 'C:\Users\marcv\OneDrive\Escriptori\Translate\Scripts\src\static\images\dna_PNG48.png'%}" width="70" height="30" class="d-inline-block align-top" alt="">
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarTogglerDemo01" aria-controls="navbarTogglerDemo01" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarTogglerDemo01">
<ul class="navbar-nav mx-auto">
<li class="nav-item active">
<a class="nav-link" href="{% url 'home' %}">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href='{% url "translator" "phrase" %}'>Translator</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'blog/article' %}" >Blog</a> #Here's the problem
</li>
</ul>
</div>
</div>
</nav>
但是,当我单击名为“博客”的导航栏按钮(位于模板中)时,会引发此错误:
未找到“博客/文章”的反向。'blog/article' 不是有效的视图函数或模式名称。
我知道错误是我在导航栏中给出的 url 名称。但是,我不知道应该输入哪个名称。
解决方案
app_name='blog'
名称空间 ( ) 和视图名称之间的分隔符article
是冒号 ( :
),而不是斜线,因此:
<a class="nav-link" href="{% url 'blog:article' %}" >Blog</a>
推荐阅读
- javascript - 如何将数字转换为印度货币格式的单词
- android-recyclerview - Navigation Drawer 使用 Navigation View 与 Recycler View
- asp.net - 如何在特定视图中加载 PartialView?
- java - 使用带有 PKCS1 填充的 RSA 进行加密时,C# 和 Java (Android) 有什么区别?
- angular6 - 如何在 ionic 4 中动态添加 Direction ['ltr', 'rtl']?
- laravel - 在时间的最后一天制作 laravel schedule 命令
- python - 不打印 xpath 的空结果
- pyspark - 将多行从 pyspark 插入到 cosmosdb
- php - 通过属性值的 xpath 搜索更改 SimpleXML 中的元素值
- javascript - 在 node-rtsp-stream 中停止流的正确方法