[当我在“个人资料”页面中进行操作时,该网址将连接到“配置文件”的下一个网址。但我只想链接到“退出”。不是“个人资料/退出”
这是我的urls.py。
[当我在“个人资料”页面上做某事时,href链接串联到'profile'url。
这是href来源。由于此href源是header.html,此页面包括其他页面。在其他页面上,效果很好。仅在个人资料页面中,href网址被连接到'profile / 1'网址。
我该如何解决?
1。同一应用内的另一个网址文件
您可以通过创建另一个应用程序custom_urls.py
文件来做到这一点。
project / urls.py
path('', include('app_name.custom_urls')),
您在应用程序目录中创建了custom_urls.py
,然后创建了URL,并且它们没有应用程序前缀。
问题是reverse
不适用于那些网址,这不好。
2。创建另一个应用]
很简单,只需python manage.py startapp app_name
并像往常一样配置所有内容。如果您需要很多没有前缀的网址,那就很好了。
3。将那些没有前缀的网址放入project/urls.py
我认为这是针对此特定情况的最佳解决方案。
是,URL 不是以斜杠或方案开头是相对URL。 href="foo"
等效于href="./foo"
,即它是指相对于当前路径的路径foo
。如果需要顶层路径,则需要href="/foo"
。
在Django中,您应该使用{% url %}
template tag生成URL,但您无需对其进行硬编码。 Django会小心生成正确的URL。特别是如果您将应用程序移动到其他环境,则URL可能需要前缀或类似的前缀,因此您绝对不要对URL进行硬编码。