一、jinja2模板加载变量的{{ }}和jquery-tmpl插件中的{{ }}相冲突的解决方案。
修改jinja2的加载变量的方式:
通过 app = Flask(__name__,static_url_path='') 创建的app对象下面添加
app.jinja_env.variable_start_string = '{{ ' app.jinja_env.variable_end_string = ' }}'
然后加载变量 {{ docontent.title }} 带有空格
而 jquery-tmpl 中的双大括号不带空格
{{each(i,row) rows}}
二、flask 通过 render_template("main/document_detail.html",docontent=docontent) 传递参数
html 页面接收参数 通过 {{ docontent.title }} 加载变量 ,
1、js 如果是和html 文件在一起的话,js文件调用参数,代码:
var daer= {{ docontent.content|tojson }} console.log(daer) $(".docontent").html(daer)
2、js和html 分开的,是单独文件,在头部添加:
<script src="js/test.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> var Server = { docontent:{{ docontent.content|tojson }} }; </script>
js 文件中 ,代码如下:
var daer= Server.docontent console.log(daer) $(".docontent").html(daer)
三、如果数据库中是通过富文本编辑器存储的文件,带有标签元素,实现文章怎么编辑,页面怎么渲染的:
首先是要数据库中要保存html的标签元素,然后通过 tojson 过滤器实现和html(),加载文章的内容, 不可通过text() 加载内容。