Django:如何将 {% url 'event_manager:index' %} 传递给模板组件?
Django: How to pass {% url 'event_manager:index' %} to template component?
所以现在我硬编码为 url,如果您移动端点,这会有点烦人。这是我当前的导航栏项目设置。
# in base.html
{% include 'components/navbar/nav-item.html' with title='Event Manager' url='/eventmanager/' %}
# in components/navbar/nav-item.html
<li>
<a href="{{ url }}">{{ title }}</a>
</li>
看看我现在如何使用 url?
我现在想要的是:
{% include 'components/navbar/link.html' with title='Event Manager' url={% url 'event_manager:index' %} %}
但显然,这是无效的语法。我该怎么做?
如果不可能,我如何创建一个应用程序以某种方式创建一个视图,我可以在其中传递所有带有上下文变量的 URL?从理论上讲,这听起来很简单,但我必须以某种方式将该视图插入到其他所有视图中。
您可以将其作为 variable
而不是 django 的 url tag
传递,像这样使用:
{% url 'event_manager:index' as myurl %}
{% include 'components/navbar/link.html' with myurl %}
现在您可以将它传递给 include
标签。
我修复它的解决方案:
# navbar.html
{% include 'components/navbar/nav-item.html' with title='Event Manager' to_url='event_manager:index' %}
# nav-link.html
{% url to_url as myurl %}
<li>
<a href="{{ myurl }}">{{ title }}</a>
</li>
所以现在我硬编码为 url,如果您移动端点,这会有点烦人。这是我当前的导航栏项目设置。
# in base.html
{% include 'components/navbar/nav-item.html' with title='Event Manager' url='/eventmanager/' %}
# in components/navbar/nav-item.html
<li>
<a href="{{ url }}">{{ title }}</a>
</li>
看看我现在如何使用 url?
我现在想要的是:
{% include 'components/navbar/link.html' with title='Event Manager' url={% url 'event_manager:index' %} %}
但显然,这是无效的语法。我该怎么做?
如果不可能,我如何创建一个应用程序以某种方式创建一个视图,我可以在其中传递所有带有上下文变量的 URL?从理论上讲,这听起来很简单,但我必须以某种方式将该视图插入到其他所有视图中。
您可以将其作为 variable
而不是 django 的 url tag
传递,像这样使用:
{% url 'event_manager:index' as myurl %}
{% include 'components/navbar/link.html' with myurl %}
现在您可以将它传递给 include
标签。
我修复它的解决方案:
# navbar.html
{% include 'components/navbar/nav-item.html' with title='Event Manager' to_url='event_manager:index' %}
# nav-link.html
{% url to_url as myurl %}
<li>
<a href="{{ myurl }}">{{ title }}</a>
</li>