我的django应用程序我想将静态html页面加载到主模板中。此静态html页面是一个电子邮件模板。我的目标是在我的主模板中编辑此电子邮件。电子邮件html页面在url.py中没有视图。我没有在主模板中使用include
,我也不想使用iframe。问题是我想加载所有的html电子邮件标签(如
<html>
<head>
<body>
)但是当我执行页面渲染时,此标记会被删除(或者我在主模板中看不到它们)。这是我的代码:
view.py
def my_view(request):
file_name = "/templates/path/emailtemplate.html"
htmlblock = render_to_string(file_name, {})
return render_to_response('main_template.html', {
'htmlblock': htmlblock,
},
context_instance = RequestContext(request))
main_template.html
<html>
<head>
....
<head>
<body>
<div id="content">
{{htmlblock}}
</div>
</body>
</html>
这就是我想要的:
<html>
<head>
....
<head>
<body>
<div id="content">
<html>
<head>
....
</head>
<body>
...
</body>
</html>
</div>
</body>
</html>
如果没有iframe,这可能吗?非常感谢你的帮助。
修改
我的目标是拥有
<html>
<head>
<body>
标记到
<div id="content">
我加载电子邮件模板。
答案 0 :(得分:1)
My goal is to edit this email in my main template.
您可以通过
将模板读入字符串with open('/templates/path/emailtemplate.html', 'r') as content_file:
content = content_file.read()
您可以将相同的值用作编辑字段的值,它将照常显示。这可以用作。
return render_to_response('main_template.html', {
'htmlblock': content,
}, context_instance = RequestContext(request))
您可以在编辑字段中进一步使用相同的内容:
<textarea value={{htmlblock}}>
或者在
中正常渲染<div id="content">{{htmlblock}}</div>