V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
cyyc
V2EX  ›  Python

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

  •  
  •   cyyc · 2019-09-18 10:42:06 +08:00 · 4050 次点击
    这是一个创建于 1880 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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