【发布时间】:2020-12-05 23:04:01
【问题描述】:
我目前正在我的 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 名称。但是,我不知道应该输入哪个名称。
【问题讨论】: