Home » flask » flask框架中jinja2传递参数和html,js文件接收参数 flask jinja2 传递 内容 到js 中

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

———–one—————–
定义个数组<scripttype=“text/javascript”> grouparray=[] </script>
{% for sale in sales %}<scripttype=“text/javascript”>grouparray.push({{sale}}‘);  </script>{% endfor%}
————two———–

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