js模板和服务器端模板的 {{ }} 会起冲突吗?

2012-11-25 17:46:00 +08:00
 nodenode
起冲突的话,如何解决比较完美

google了一下,暂时只找到了这个,貌似也没有太好的对策:
http://yanhua365.lofter.com/post/b417f_1f0361
3686 次点击
所在节点    Python
7 条回复
SErHo
2012-11-25 18:29:42 +08:00
在Python的模板中,一般会提供一个标签,在标签中的内容就直接输出,不做处理,比如 jinja2 的 {% raw %} 标签。
darasion
2012-11-25 18:50:24 +08:00
换个分隔符呗。

都应该有设置,没有的话,就是模板引擎设计缺陷。
nodenode
2012-11-25 19:21:16 +08:00
多谢两位

@SErHo 弱问一下django模板有类似{% raw %}的标签吗?我没搜到,就找到了这个:
http://www.holovaty.com/writing/django-two-phased-rendering/
因为不是官方的,有点不太敢用

@darasion 换分割符的话,怕会escape到其它字符,或者是别人现成的模板没法用
SErHo
2012-11-25 19:33:32 +08:00
@nodenode Django确实没有类似的标签,不过Django可以自定义标签的,方法应该就是链接的那个。不过 Django 可以使用这个标签来输出 {} 等:https://docs.djangoproject.com/en/1.4/ref/templates/builtins/#templatetag

用法这里有:http://stackoverflow.com/questions/4021896/jquery-template-tags-conflict-with-django-template

我觉得还是自己定义一个和jinja2一样的标签比较好。
nodenode
2012-11-25 20:06:28 +08:00
@SErHo 嗯,我也是这样想,像js模板这样大把地用分割符的话用那个templatetag太费劲了
bhuztez
2012-11-25 21:05:58 +08:00
loddit
2012-11-26 23:08:06 +08:00
曾经还很希望js模板和后端模板语法一样,这样就可以复用模板了。
结果现在是用js做后端就可以这么做。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/53289

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX