luktian
(Tian Lu)
1
我想在前端使用一些vue来代替jquery时,考虑到vue变量定界符和jinja2的冲突,因此修改了jinja2的变量定界符。在使用flask-bootstrap以及flask-dropzone时,看到包内的定界符是写死的。
当然直接修改包内的定界符就能正常使用了,但考虑到从本地部署到服务器端时每次都要修改包内的文件就有点。。。
对于前者,我可以把flask-bootstrap内的模板丢到template里用模板调用(有点盗代码的感觉)。后者我看到是写在了__init__内,这我可能没办法了
大佬们可以支个招吗?比如修改vue的定界符?
第一次发帖,这样格式可以吗
greyli
(Grey Li)
2
如果你依赖的扩展只有这两个有定界符冲突问题的话,那可以把 Flask-Bootstrap 里面用到的宏复制到自己的模板里改写,然后弃用 Flask-Dropzone(改为直接使用 Dropzonejs)。
当然,更省力的做法是修改 Vuejs 的语法定界符。
格式很好
1 个赞
luktian
(Tian Lu)
3
感谢李老师的回复。您写的Flask-Bootstrap和Flask-Dropzone(我看到github的maintainer是您)宏实在好用,两者都难以放弃。
其实我一开始想办法找了vue的定界符改法,寻找未果。好像官网上不像flask的document里那样直接给出。只好改用您两个包内的代码了。
Flask-Bootstrap我已经放到自己模板里改写了,Flask-Dropzone我决定还是治疗一下比如把整个Flask-Dropzone改写后也放到程序内调用,不行的话只好单独使用Dropzone.js了。
1 个赞
greyli
(Grey Li)
4
Vuejs 的自定义定界符可以参考文档:https://cn.vuejs.org/v2/api/#delimiters
(P.S. 我写的那个是叫 Bootstrap-Flask : P)
1 个赞
luktian
(Tian Lu)
5
2 个赞