Django - 使用包含模板中的变量

时间:2014-12-02 12:02:26

标签: html django templates include

我有以下设置:

base.html文件

...
    {% block main-content %}
    {% endblock main-content %}
...

admin.html

{% extends "base.html" %}
{% load staticfiles %}

{% block main-content %}
    {% include users.html %}
{% endblock main-content %}

user.html文件使用' {{users}}'等标签。因为它从一个也返回几个变量的视图中呈现。现在,如果我调用admin.html,我可以看到没有变量的users.html模板(基本的html,css)。我不认为模板是从我的views.py中呈现的。

无论如何我可以获得视图返回的变量吗?

注意:base.html和admin.html位于同一个django应用中,而users.html则位于不同的应用中。

谢谢!

1 个答案:

答案 0 :(得分:0)

这似乎是一种常见的误解。

模板不属于视图。唯一的关系是视图可能(或可能不)呈现模板:但模板本身可能由一个或多个视图呈现,并且没有任何实际知识。因此,当您在管理模板中“包含”您的模板时,与任何其他可能也会呈现它的视图之间存在关系;如果你在那个视图中需要一些变量,你需要自己传递它们。

请注意,这类事情 - 包括模板和一些特定的上下文变量 - 通常最好以inclusion tag

处理
相关问题