Django:如何传递变量以包含 url 标签中的标签?

Tom*_*ing 1 python django django-templates django-urls django-views

所以现在我硬编码到 url,如果你移动端点,这会有点烦人。这是我当前的导航栏项目设置。

# in base.html

{% include 'components/navbar/nav-item.html' with title='Event Manager' url='/eventmanager/' %}
Run Code Online (Sandbox Code Playgroud)
# in components/navbar/nav-item.html

<li>
  <a href="{{ url }}">{{ title }}</a>
</li>
Run Code Online (Sandbox Code Playgroud)

看看我现在如何使用该网址?

我现在想要的是这样的:

{% include 'components/navbar/link.html' with title='Event Manager' url={% url 'event_manager:index' %} %}
Run Code Online (Sandbox Code Playgroud)

但显然,这是无效的语法。我该怎么做?

如果不可能,我如何创建一个应用程序,以某种方式创建一个视图,我可以在其中传递带有上下文变量的所有 URL?从理论上讲,这听起来很简单,但我必须以某种方式将该视图插入到所有其他视图中。

小智 7

您可以将其作为variable非 django's传递url tag,如下使用:

{% url 'event_manager:index' as myurl %}
{% include 'components/navbar/link.html' with myurl %}
Run Code Online (Sandbox Code Playgroud)

现在您可以将其传递给include标签。