Django 通过路径传递一个变量,导致路径重复。如何摆脱这个循环?

Django passing a variable through the path, causing path repetitions. how to get out of that loop?

我知道这是一个衔铁问题,但这里是。

我有一个 url 路径如下: path('projects/<s>', PL.projects),

然后我通过将 html 模板中的字符串放入 href 标记中来传递它,例如 projects/some_string。这只工作一次,但随后基数 url 变为 <ip>/projects/some_string。因此,当我尝试激发在该域中传递字符串的路径时,我收到错误消息,因为 url 现在是 <ip>/projects/projects/some_string.

如何设置它以便我可以尽可能多地传递尽可能多的字符串,而不必每次都在浏览器中清理我的 url。

了解如何使用 reverse() 函数和 url 模板标签,您的问题就会迎刃而解。

这些函数是 Django 内置的,可以处理所有这些令人讨厌的 URL 东西。

反转:https://docs.djangoproject.com/en/3.2/ref/urlresolvers/

Url 模板标签:https://docs.djangoproject.com/en/3.2/ref/templates/builtins/#url

Django 内置了 url 查找功能

path("some_random_url_link_1/", views.Link1View.as_view(), name="url_link_1"),
path("some_random_url_link_2/<int:some_id>/<slug:some_slug>/", views.Link2View.as_view(), name="url_link_2"),

在您的模板中,您可以像这样使用它,并像这样传递 variables/parameters。仅供参考,您不需要在此处使用 {{variable}} 标签

<a href="{% url 'url_link_1' %}" >Link 1</a>
<a href="{% url 'url_link_2' some_id=id1 some_slug=random_slug %}" >Link 2</a>