寻找一种巧妙的方法来避免这种常见的陷阱。urls 适用于浏览器栏,但不适用于 bootstrap4-links,反之亦然。django-3 是否有永久修复。也许使用基于双向工作的项目/应用程序结构的绝对或相关路径。目前,停留在:
base.html:
(class="nav-link active" aria-current="page" href="about/" >关于)
(class="nav-link active" aria-current="page" href="main/" >Main)
网址.py:
路径('about/',views.about,name='about'),
路径('main/',views.about,name='main'),
视图.py:
关于(请求)的定义:
返回渲染(请求,'blog/about.html')
渲染: http: //127.0.0.1 :8000/blog/about/
成功,到目前为止一切顺利。
导航至:
(class="nav-link active" aria-current="page" href="main/" >Main)
渲染: http: //127.0.0.1 :8000/blog/about/main/
虽然它需要: http: //127.0.0.1 :8000/blog/main/
将以上更改为:
base.html:
class="nav-link active" aria-current="page" href="{% url 'about' %}" >关于
class="nav-link active" aria-current="page" href="{% url 'main' %}" >Main
网址.py:
url(r'^about/$', views.about, name='about'),
url(r'^main/$', views.main, name='main'),
错误:未找到“关于”的反向。'about' 不是有效的视图函数或模式名称。
文件夹结构:
(project)mysite/(app)blog/templates/blog/(about.html + main.html + base.html)
django=3.1.2=py_0