Django передает переменную через путь, вызывая повторения пути. как выйти из этого цикла?
Я знаю, что это вопрос по арматуре, но вот так.
У меня есть путь url следующим образом:
path('projects/<s>', PL.projects),
и я передаю строку из html шаблона, помещая ее в тег herf, например 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"),
в вашем шаблоне вы можете использовать его вот так, и передавать переменные/параметры вот так. К вашему сведению, вам не нужно использовать тег {{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>