疑惑: flask 里的模板,相比于 Java 中的 jsp,有本质区别与优势吗?

2019-09-18 10:42:06 +08:00
 cyyc

在尝试用 flask 做个小工具,然后看见了“template”特性……

乍看之下就觉得,这本质上也就是类似于 jsp 的东西,无论语法怎样也还是前后端纠缠在一起。另外 jsp 已经被扫入垃圾堆了吧现在……但 template 好像讨论还比较多?

所以在如今前后分离的情况下,template 到底有什么优势?

4056 次点击
所在节点    Python
18 条回复
Patrick95
2019-09-18 10:56:10 +08:00
template 这种东西属于「我可以不用,但你不能没有」的特性。
DsuineGP
2019-09-18 10:56:17 +08:00
template 不光用来渲染 html,json 什么的一样可以渲染,比如对不同渠道的请求来源配置不同的返回值结构这种需求,用 template 就很适合
wellsc
2019-09-18 10:57:56 +08:00
模板感觉像是上个时代的东西了。。。
abcbuzhiming
2019-09-18 11:03:25 +08:00
没什么优势,template 最主要的作用就是用来输出特定文档,在 web 领域就是用来输出 html,在前后端分离的场景下,这个东西用不上,但是你要考虑一点,后端自诞生以来的要求就是能独立输出 html 文档,这个要求现在不重要了,但是也只是不重要了而已,只要做 web 的后端,你就必须有
coloz
2019-09-18 11:07:45 +08:00
没啥优势。。。对于前后端分离的网站,模板就是个不存在的功能
BOYPT
2019-09-18 11:08:37 +08:00
提供 http 服务,但是不一定必须用来做 web 应用的,客户端不一定是个完整浏览器,作为个开发框架,这是基础特性了。

eg:
RSS 源、m3u8 源
janus77
2019-09-18 11:09:19 +08:00
综合 1 4 楼
确实是「我可以不用,但你不能没有」的意思
coolair
2019-09-18 11:09:34 +08:00
类似提问:
Java 和 Python 有本质区别和优势吗
Perl 都被打入冷宫了,现在……但 python 好像讨论越来越多了。
oneisall8955
2019-09-18 11:13:51 +08:00
老项目用模板在 HTML 上写展示层还是不错的相当于一次性的数据绑定,新项目基本都是前后端分离,模板确实没啥优势.顺应时势就行了
guokeke
2019-09-18 11:31:50 +08:00
没啥优势,就是赋予后端程序更方便生成 HTML 的能力。
比如要发邮件的话,可能还是会用到模板。
模板是生成 HTML 的一个工具,凡是需要生成 HTML 的地方就可以用。
cmdOptionKana
2019-09-18 11:36:47 +08:00
看正文,我觉得最大的逻辑问题在于这句 “但 template 好像讨论还比较多”,正是这个判断错误导致了 LZ 的疑惑。不知道 LZ 哪里看到 template 讨论多,根本就很少讨论啊,因此正确的判断是 “template 的讨论也很少”,这样一来 LZ 就完全没有疑惑了。
cyyc
2019-09-18 14:18:40 +08:00
@cmdOptionKana 呃,因为相对于 java web 中的 jsp,我觉得 template 在 python web 的讨论算很多了……一半来说新学 java web 不会让人学 jsp 了吧,但 python web 中的 template 则……或许是楼主的误解?
james122333
2019-09-18 14:33:51 +08:00
模板还是有用处的阿 只有模板没有后端业务代码 也不算是前后端混在一起吧 也可以前后端分离 一个用模板 一个写业务 通通用 js 写东西都给看光...
GM
2019-09-18 14:37:57 +08:00
模板在特定情况非常好用,比如:给用户在不同情况下发送不同的 email 通知(图文并茂)。
hoyixi
2019-09-18 14:40:53 +08:00
除非前后端完全分离,不然,你不用模板展示,你用啥?
misaka19000
2019-09-18 14:46:46 +08:00
jinjia2 和 jsp 是不同一个东西,jinjia2 更类似于 Java 中的 thymeleaf 或 freemarker
fishCatcher
2019-09-18 14:47:19 +08:00
自己一个人全栈的时候比较快
AnnieHall
2019-09-18 18:52:01 +08:00
@wellsc 我们的 Dockerfile 还有 helm charts 都是模版渲染的 舒服的 1b 怎么就上个时代了

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

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

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

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

© 2021 V2EX