首页 > 解决方案 > # 替换 django 中的 url 模板标签

问题描述

在我的主页上,我有我的导航栏,在我的导航栏中,我有一个关于页面的链接,并在 href 中使用模板 url 标签,如下所示

<a href="{% url 'about' %}" class="nav-link">About</a>

但是当我运行我的项目并在预览窗口中查看它时它不起作用。单击 # 键时,URL 中会出现“/about”应该出现的位置。当我使用谷歌开发工具查看元素 # 在 href 而不是模板 url 标记内时,当我在谷歌开发工具中编辑 html 并将其更改为“/about/”时,链接有效并带我到 about页面,我不知道为什么会这样

这是我的 /about/urls.py 中的代码

from django.urls import path
from . import views

urlpatterns = [
   path('', views.about, name='about'),
]

这是我 /about/views.py 中的代码

  from django.shortcuts import render
  from django.http import HttpResponse

  def about(request):
      return render(request, 'about/about.html')

非常感谢任何帮助,并提前感谢您

标签: pythonhtmldjango

解决方案


您必须app_name设置 /about/urls.py

from django.urls import path
from . import views

app_name = "about"

urlpatterns = [
   path('', views.about, name='about'),
]

app_name:urlname在模板中使用:

<a href="{% url 'about:about' %}" class="nav-link">About</a>

推荐阅读