我想知道关于…
如果我有一个应用程序叫做杂志,其urlpatterns
在urls.py
中的位置如下:
from django.urls import path
from . import views
path("articles/<int:pk>", views.get_article, name="article")
. .如果没有结尾斜杠,那么Django应该在"后面加上斜杠">默认值是,对吧?
斜杠加在哪里?
我的意思是只有当我在浏览器中手写url时才添加它吗?
我的意思是如果模板中有一个锚标记像这样:
<a href="{% url 'magazine:article' 5 %}"> Article 5 </a>
. .难道它不会去获取上面的路径,而不带一个反斜杠,然后出现一个错误Not Found
?APPEND_SLASH设置意味着我不能,或者不可能到达上面的链接,而在结尾添加一个预告片斜杠?
斜杠是而不是。这就意味着你可以用/arcticles/5
来访问这个页面(用主键5访问文章)。
Django有一个APPEND_SLASH
设置(Django-doc)。如果设置为True
(默认值),它将首先尝试将路径与给定的URL模式匹配,如果失败,则添加斜杠并再次搜索。
path('articles/<int:pk>/', views.get_article, name='article')