用django提供没有模板渲染的html文件?

时间:2015-09-08 19:14:25

标签: python django

我有一个html文件,我是通过使用Bokeh库创建可视化而生成的。我想将它包含在我的django站点中,但是,当我尝试将其添加为视图时,我得到了TemplateSyntaxError。看来页面中的某些语法与Django的模板系统相冲突。

如何让Django服务于该页面而不试图将其解析为模板?

2 个答案:

答案 0 :(得分:5)

您可以在模板中使用verbatim tag,以便django的渲染系统不会解析您网页的该部分:

{% verbatim %}

<!--  Template tags ignored in here  -->

{% endverbatim %}

这样,如果将来你想在该页面上使用Django的模板标签,你就不必返回并更改视图,然后再实施此解决方案。

答案 1 :(得分:5)

基于基本模板文档,您可以直接返回HttpResponse,而无需使用任何渲染函数:

https://docs.djangoproject.com/en/1.8/topics/http/views/

由于HttpResponse只为响应内容提取了一个字符串,您只需从存储的任何位置读取原始文件,然后以这种方式返回。

当你使用render_to_responserender时,这只是加载模板,解析它,构造结果字符串,然后将它包装在HttpResponse中,所以如果你不想要要进行任何渲染,您可以完全跳过模板系统。