使用自定义jinja2定界符时 flask-dropzone以及其他flask拓展出现的错误

我想在前端使用一些vue来代替jquery时,考虑到vue变量定界符和jinja2的冲突,因此修改了jinja2的变量定界符。在使用flask-bootstrap以及flask-dropzone时,看到包内的定界符是写死的。

当然直接修改包内的定界符就能正常使用了,但考虑到从本地部署到服务器端时每次都要修改包内的文件就有点。。。

对于前者,我可以把flask-bootstrap内的模板丢到template里用模板调用(:rofl:有点盗代码的感觉)。后者我看到是写在了__init__内,这我可能没办法了:rofl:

大佬们可以支个招吗?比如修改vue的定界符?

第一次发帖,这样格式可以吗:rofl:

如果你依赖的扩展只有这两个有定界符冲突问题的话,那可以把 Flask-Bootstrap 里面用到的宏复制到自己的模板里改写,然后弃用 Flask-Dropzone(改为直接使用 Dropzonejs)。

当然,更省力的做法是修改 Vuejs 的语法定界符。

格式很好 :stuck_out_tongue:

1 Like

感谢李老师的回复。您写的Flask-Bootstrap和Flask-Dropzone(我看到github的maintainer是您)宏实在好用,两者都难以放弃:rofl:

其实我一开始想办法找了vue的定界符改法,寻找未果。好像官网上不像flask的document里那样直接给出。只好改用您两个包内的代码了。

Flask-Bootstrap我已经放到自己模板里改写了,Flask-Dropzone我决定还是治疗一下比如把整个Flask-Dropzone改写后也放到程序内调用,不行的话只好单独使用Dropzone.js了。:thinking:

1 Like

Vuejs 的自定义定界符可以参考文档:https://cn.vuejs.org/v2/api/#delimiters

(P.S. 我写的那个是叫 Bootstrap-Flask : P)

1 Like

:scream:感谢李老师帮我找到了vue的定界符,:rofl:果然还是我太急躁了没找到,感觉有点抱歉:sob:。实在非常感谢,这样的话我环境包上的问题就解决了。:sob:
(李老师,对不住没区分清Bootstrap-Flask和Flask-Bootstrap:rofl:,我就只深深地记住了您在书上提到的Bootstrap-Flask包含了后者并对后者做了改进支持了Bootstrap4。:rofl:

2 Likes