flask框架中jinja2传递参数和html,js文件接收参数
来源:互联网 发布:淘宝网十字绣架子 编辑:程序博客网 时间:2024/05/21 17:35
一、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.docontentconsole.log(daer)$(".docontent").html(daer)
三、如果数据库中是通过富文本编辑器存储的文件,带有标签元素,实现文章怎么编辑,页面怎么渲染的:
首先是要数据库中要保存html的标签元素,然后通过 tojson 过滤器实现和html(),加载文章的内容,不可通过text() 加载内容。
阅读全文