Как использовать тег шаблона `url` в теге шаблона `with` в шаблонах django
У меня есть html компонент, который я хочу включить в мой шаблон, который имеет ссылку, как показано ниже
<a href="{{url_name}}" ........
В моем шаблоне я пытаюсь передать url_name
с помощью тега with
{% include 'components/buttons/_add_button.html' with url_name="{% url 'equipments:equipment-add' %}" reference_name='equipment' %}
похоже, это не работает, так как я получаю следующую ошибку
Exception Type: TemplateSyntaxError
Exception Value:
Could not parse the remainder: '"{%' from '"{%'
это работает
использование жестко закодированного url работает, однако я хотел реализовать это, используя имена url для гибкости
{% include 'components/buttons/_add_button.html' with url_name="equipments/equipment/add" reference_name='equipment' %}
urls.py
app_name = "equipments"
....
path("equipment/add/",views.EquipmentCreateView.as_view(), name="equipment-add",
),
...
могу ли я использовать пользовательский тег для передачи этого имени url в шаблон компонента
Я решил эту проблему, используя пользовательский фильтр в Django следующим образом:
@register.filter
def get_url(url_name):
return reverse(url_name)
Теперь я передаю url_name
в моем шаблоне как:
{% include 'components/buttons/_add_button.html' with url_name="equipments:equipment-add" reference_name='equipment' %}
Затем в компоненте Html я использую:
<a href="{{url_name|get_url}}"...