django url串联。我不想串联

问题描述 投票:-1回答:2

enter image description here

[当我在“个人资料”页面中进行操作时,该网址将连接到“配置文件”的下一个网址。但我只想链接到“退出”。不是“个人资料/退出”

enter image description here

这是我的urls.py。

enter image description here

[当我在“个人资料”页面上做某事时,href链接串联到'profile'url。

enter image description here这是href来源。由于此href源是header.html,此页面包括其他页面。在其他页面上,效果很好。仅在个人资料页面中,href网址被连接到'profile / 1'网址。

我该如何解决?

django django-urls
2个回答
0
投票

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

我认为这是针对此特定情况的最佳解决方案。


0
投票

是,URL 不是以斜杠或方案开头是相对URL。 href="foo"等效于href="./foo",即它是指相对于当前路径的路径foo。如果需要顶层路径,则需要href="/foo"

在Django中,您应该使用{% url %} template tag生成URL,但您无需对其进行硬编码。 Django会小心生成正确的URL。特别是如果您将应用程序移动到其他环境,则URL可能需要前缀或类似的前缀,因此您绝对不要对URL进行硬编码。

© www.soinside.com 2019 - 2024. All rights reserved.