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

2014-09-26 18:45:55 +08:00
 CoooolChan
最近在用flask做个站,感觉不依赖ajax的情况下,没有办法做到完全分离,比如我在一个页面要显示10篇文章,由服务器端直接生成html返回,必须用到模板?
2693 次点击
所在节点    问与答
8 条回复
jsonline
2014-09-26 19:05:32 +08:00
前后端与语言无关。
你把模板看成前端不就好了
loading
2014-09-26 20:20:03 +08:00
你可能是指一套的模板系统?很多cms系统是用自定的模板标签构成的模板系统进行的,要彻底分离,现在的restful算是比较时髦的方法。

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

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

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

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

模板的目的是将数据转换成视图。在从数据库到浏览器输出,中间得经历很多层不同类型的模板。html也不是是终格式,毕竟可以靠json直接生成dom结构。 我感觉你没理解清楚。

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

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

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

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

© 2021 V2EX