【问题标题】:Django - variables in include file not recognizedDjango - 包含文件中的变量无法识别
【发布时间】:2016-10-19 22:25:08
【问题描述】:

我正在使用 djano 1.8.1 和 python 2.7。

在我的两个模板页面上,我有相同的变量集。

因此我决定创建一个包含这些变量的{% include %} 页面,然后在所需页面上添加{% include %} 标记以调用这些变量。

但是,当我设置包含文件并将变量剪切并粘贴到包含文件中并将包含标记添加到模板中时,无法识别变量。

没有给出错误,变量不显示。我检查了{% include %}标签的路径是否正确。

是不是我做错了什么?

这是包含文件的内容:

{% load i18n %}

{% trans "Achievement Details" as var_details_name01 %}
{% trans "Type" as var_details_name05 %}
{% language "de" %}{% trans "Type" as var_details_name05_de %}{% endlanguage %}
{% language "es-419" %}{% trans "Type" as var_details_name05_es_419 %}{% endlanguage %}
{% language "en-CA" %}{% trans "Type" as var_details_name05_en_CA %}{% endlanguage %}
{% language "en-GB" %}{% trans "Type" as var_details_name05_en_GB %}{% endlanguage %}
{% language "fr-CA" %}{% trans "Type" as var_details_name05_fr_CA %}{% endlanguage %}
{% language "it" %}{% trans "Type" as var_details_name05_it %}{% endlanguage %}
{% trans "Achievement" as var_details_name06 %}
{% language "de" %}{% trans "Achievement" as var_details_name06_de %}{% endlanguage %}
{% language "es-419" %}{% trans "Achievement" as var_details_name06_es_419 %}{% endlanguage %}
{% language "en-CA" %}{% trans "Achievement" as var_details_name06_en_CA %}{% endlanguage %}
{% language "en-GB" %}{% trans "Achievement" as var_details_name06_en_GB %}{% endlanguage %}
{% language "fr-CA" %}{% trans "Achievement" as var_details_name06_fr_CA %}{% endlanguage %}
{% language "it" %}{% trans "Achievement" as var_details_name06_it %}{% endlanguage %}
{% trans "Achievement" as var_details_name07 %}
{% trans "Suggestion" as var_details_name04 %}

这是我的模板文件中正确位置的包含标记:

{% block extra_head %}
    <script type="text/javascript" src="{{ STATIC_URL }}js/details_common.js"></script>
{% endblock %}

{% block page_content %}
    {% include "user_details/achievement_details_variables.html" %}

    {% include "headline/headline_with_toggle_help_icon.html" %}
    {% include "user_details/help_resume_details.html" %}
    ......
{% endblock %}

【问题讨论】:

  • 你是否在包含模板的顶部加载了 i18n 库?
  • solarissmoke,是的,我已经加载了 i18n 标签。
  • 我们可能需要您在包含和父模板中使用的实际代码。

标签: python django variables django-templates include


【解决方案1】:

{% include %} 标签的结果是 html,这意味着你不能在包含的模板中定义变量(或块)。

【讨论】:

  • 我们倾向于将这些类型的变量放在上下文中,但应该可以创建另一层模板,您可以从中扩展(并定义变量)。
  • 再次感谢。这给了我一些工作。
猜你喜欢
  • 2015-02-11
  • 2013-08-13
  • 2021-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多