web 小白问个前后端分离的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CoooolChan
V2EX    问与答

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

  •  
  •   CoooolChan 2014-09-26 18:45:55 +08:00 via Android 3061 次点击
    这是一个创建于 4034 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在用flask做个站,感觉不依赖ajax的情况下,没有办法做到完全分离,比如我在一个页面要显示10篇文章,由服务器端直接生成html返回,必须用到模板?
    8 条回复    2014-09-26 21:25:47 +08:00
    jsonline
        1
    jsonline  
       2014-09-26 19:05:32 +08:00 via Android
    前后端与语言无关。
    你把模板看成前端不就好了
    loading
        2
    loading  
       2014-09-26 20:20:03 +08:00 via iPad
    你可能是指一套的模板系统?很多cms系统是用自定的模板标签构成的模板系统进行的,要彻底分离,现在的restful算是比较时髦的方法。

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

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

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

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

    模板的目的是将数据转换成视图。在从数据库到浏览器输出,中间得经历很多层不同类型的模板。html也不是是终格式,毕竟可以靠json直接生成dom结构。 我感觉你没理解清楚。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4665 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 01:04 PVG 09:04 LAX 18:04 JFK 21:04
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86