CoooolChan
V2EX  ›  问与答

web 小白问个前后端分离的问题

  •  
  •   CoooolChan · Sep 26, 2014 via Android · 3348 views
    This topic created in 4279 days ago, the information mentioned may be changed or developed.
    最近在用flask做个站,感觉不依赖ajax的情况下,没有办法做到完全分离,比如我在一个页面要显示10篇文章,由服务器端直接生成html返回,必须用到模板?
    8 replies    2014-09-26 21:25:47 +08:00
    jsonline
        1
    jsonline  
       Sep 26, 2014 via Android
    前后端与语言无关。
    你把模板看成前端不就好了
    loading
        2
    loading  
       Sep 26, 2014 via iPad
    你可能是指一套的模板系统?很多cms系统是用自定的模板标签构成的模板系统进行的,要彻底分离,现在的restful算是比较时髦的方法。

    还有 css花园 的一个html不同css大变样你懂吧?
    kmvan
        3
    kmvan  
       Sep 26, 2014 via Android
    不要生成html,随着杰森数据,js模板生成html这样比较好
    CoooolChan
        4
    CoooolChan  
    OP
       Sep 26, 2014
    @kmvan 这个我理解,服务器直接返回json数据或者其他格式也行,但是返回的数据都需要再用js解析,没有js页面就是空白的了,但是我想在服务器端直接生成html,是不是只能把后端代码写进html里面了?
    kmvan
        5
    kmvan  
       Sep 26, 2014 via Android
    如果你不在乎seo,或者是不很重要的数据,根本不用担心没有js就不显示了这个问题,那都是十年前的事情了
    CoooolChan
        6
    CoooolChan  
    OP
       Sep 26, 2014
    @kmvan 那目前流行的js模板有什么,我感觉flask自带的jinja2很强悍,但是这样html里会有各种奇怪的东东,所以才有此问
    learnshare
        7
    learnshare  
       Sep 26, 2014
    前端只从后端拿 JSON 数据,前端负责渲染模板。Ajax 是获取数据的主要方式
    hitsmaxft
        8
    hitsmaxft  
       Sep 26, 2014
    @CoooolChan 问题得这么看

    把应用拆分成数据提供方和页面渲染方两个角色。
    传统的动态页面应用通过mvc, 把页面渲染的逻辑限制在view中, 达到视图和数据分离。

    而现在提倡用 客户端、服务端进行前后端分离。也就是把上面说的view,简化成把数据压缩转成json字符串。 剩下的视图渲染交给服务端的js, 这也就派生出ajax这种解决方案

    但是这个过程是可以灵活调整的。 比如你可以把整篇文章的内容(html)当做字符串放进json,也可以按内容拆分成多种数据, 由js选择怎么拼接渲染输出。

    模板的目的是将数据转换成视图。在从数据库到浏览器输出,中间得经历很多层不同类型的模板。html也不是是终格式,毕竟可以靠json直接生成dom结构。 我感觉你没理解清楚。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6092 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 03:06 · PVG 11:06 · LAX 20:06 · JFK 23:06
    ♥ Do have faith in what you're doing.