#问题
最近一直在忙SWT项目的前端和后端整合的工作,目前已经基本把前端和后台的flask搞定,剩下是要与数据库,分析服务器对接了。
今天解决了个python的转义的问题,本来我是想通过flask返回列表数据到页面的,列表上的每一行都有一个和onclick事件绑定的函数,而我需要在flask这边通过模版进行字符串格式化生成不同的数据。
下面是一部分的模版,这个数据会返回至前端交由ajax success参数的callback函数添加到列表里:
'<td><button type="button" class="btn btn-danger btn-xs" onclick=%s>XXX</button></td>'
重点在于onclick,一开始我用的模版是:
'<td><button type="button" class="btn btn-danger btn-xs" onclick=“func(%s)”>XXX</button></td>'
然后配合这个函数参数模版:"'#%s'"
先对上面的参数模版赋值,再对上面的长模版赋值,但是在python3中,输入上面的小模版会被转义成"'#%s'"
但是我需要保留'',所以要通过repr()和修改参数模版:
btn_template = repr("theFunc(\'#%s\')")
然后把html模版中的事件函数修改为onclick=%s
然后对btn_template赋值再对html模版赋值,才能正常返回给前端