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

9 篇文章 0 订阅
5 篇文章 0 订阅

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

  • 8
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值