推荐学习书目
› 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 · Sep 18, 2019 · 4996 views
    This topic created in 2610 days ago, the information mentioned may be changed or developed.

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

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

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

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

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