Django {% include %} 标签显示硬编码字符串但不是变量
Django {% include %} tag displays hardcorded string but not variable
我希望一个模板使用 Django {% include %}
标记从另一个模板继承变量。但这并没有发生。
section.html
,要继承的模板:
{% block section1 %}
<p>My cows are home.</p>
--> {{ word_in_template }} <--
{% endblock %}
index.html
,应该从 section.html
:
继承 word_in_template
{% include "section.html" with word_in_template=word_in_template %}
我也试过了{% include "section.html" with word_in_template=word %}
。
我的看法:
def myblog(request):
return render_to_response('index.html')
def section(request):
word = "frisky things."
return render_to_response('section.html', {'word_in_template':word})
Chrome 中 section.html
的输出:
My cows are home.
--> frisky things. <--
Chrome 中 index.html
的输出:
My cows are home.
--> <--
我正在关注 this solution,但它对我不起作用。 "frisky things"
在我加载 section.html
时显示,但在 index.html
上不显示。但是,硬编码字符串 My cows are home
出现在 index.html
.
我想我也在关注 documentation。但我是新手,所以也许我没有正确阅读内容或其他内容。我做错了什么?
当您在 index.html
模板中包含 section.html
时,它不会自动包含来自 section
视图的上下文。您需要在 myblog
视图中包含上下文。
def myblog(request):
word = "my_word"
return render(request, 'index.html', {'word_in_template':word}))
在模板中,正确的包含方法是 word_in_template=word_in_template
,因为 word_in_template
是上下文字典中的键。
{% include "section.html" with word_in_template=word_in_template %}
我希望一个模板使用 Django {% include %}
标记从另一个模板继承变量。但这并没有发生。
section.html
,要继承的模板:
{% block section1 %}
<p>My cows are home.</p>
--> {{ word_in_template }} <--
{% endblock %}
index.html
,应该从 section.html
:
word_in_template
{% include "section.html" with word_in_template=word_in_template %}
我也试过了{% include "section.html" with word_in_template=word %}
。
我的看法:
def myblog(request):
return render_to_response('index.html')
def section(request):
word = "frisky things."
return render_to_response('section.html', {'word_in_template':word})
Chrome 中 section.html
的输出:
My cows are home.
--> frisky things. <--
Chrome 中 index.html
的输出:
My cows are home.
--> <--
我正在关注 this solution,但它对我不起作用。 "frisky things"
在我加载 section.html
时显示,但在 index.html
上不显示。但是,硬编码字符串 My cows are home
出现在 index.html
.
我想我也在关注 documentation。但我是新手,所以也许我没有正确阅读内容或其他内容。我做错了什么?
当您在 index.html
模板中包含 section.html
时,它不会自动包含来自 section
视图的上下文。您需要在 myblog
视图中包含上下文。
def myblog(request):
word = "my_word"
return render(request, 'index.html', {'word_in_template':word}))
在模板中,正确的包含方法是 word_in_template=word_in_template
,因为 word_in_template
是上下文字典中的键。
{% include "section.html" with word_in_template=word_in_template %}