我有一个html文件,我是通过使用Bokeh库创建可视化而生成的。我想将它包含在我的django站点中,但是,当我尝试将其添加为视图时,我得到了TemplateSyntaxError。看来页面中的某些语法与Django的模板系统相冲突。
如何让Django服务于该页面而不试图将其解析为模板?
答案 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_response
或render
时,这只是加载模板,解析它,构造结果字符串,然后将它包装在HttpResponse中,所以如果你不想要要进行任何渲染,您可以完全跳过模板系统。