2016-06-18 39 views
0

我正在使用djano 1.8.1和python 2.7。Django - 無法識別包含文件中的變量

在我的兩個模板頁面上,我有相同的一組變量。

因此,我決定創建一個包含這些變量的{% include %}頁面,然後在所需頁面上添加{% include %}標記以調用變量。

但是,當我設置包含文件並剪切並將變量粘貼到包含文件並將include標記添加到模板時,變量無法識別。

沒有給出錯誤,變量不顯示。我檢查了{% include %}標籤的路徑是否正確。

我有做錯了嗎?

這裏是inlcude文件的內容:

{% 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 %} 
+0

你是否已經在包含模板的頂部加載了i18n庫? – solarissmoke

+0

solarissmoke,是的,我已經加載了i18n標籤。 – user1261774

+0

我們可能需要在包含模板和父模板中使用的實際代碼。 – solarissmoke

回答

2

{% include %}標籤的結果是HTML,這意味着您無法在包含的模板中定義變量(或塊)。

+0

謝謝。有沒有可以建議你的工作? – user1261774

+1

我們傾向於將這些類型的變量放在上下文中,但應該可以創建另一層模板,您可以從中進行擴展(並定義變量)。 – thebjorn

+0

再次感謝。這給了我一些工作。 – user1261774