Bootstrap

flask框架中jinja2传递参数和html,js文件接收参数

一、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() 加载内容。
 
 

;