我有一个问题,用另一个内容替换django内置的部分网站。 我有像
这样的代码<section id='main_page'>
<div id="main_div">
<--! include kek.html content here -->
</div>
</section>
我想用另一个html文件中的html替换这个评论。 我试过了
def home(request):
return HttpResponse(render_to_string(
'index.html',{'bla':kek.html},
))
而在index.html中是
<section id='main_page'>
<div id="main_div">
{{ bla }}
</div>
</section>
但是,它似乎没有这样的方式。我是django和python的新手,我找不到任何解决方案。
答案 0 :(得分:2)
不,甚至不会运行(kek.html
未在视图中定义,因此它是一个NameError。)
您可以在模板中使用{% include %}
标记:
<section id='main_page'>
<div id="main_div">
{% include 'kek.html' %}
</div>
</section>
你应该真正做Django教程,它解释了模板的工作原理(等等)。
在评论后修改
在这种情况下,您应该将include的名称视为变量并将其从视图中传递出去:
{% include template_to_include %}
...
return render_to_response(
'index.html', {'template_to_include': 'kek.html'},
)
注意引号。