作者:萌新求学 | 来源:互联网 | 2022-12-11 19:36
我公司正在评估Wagtail作为我们网站部分的CMS.目前我们正在运行Python 2.7和Django 1.5(不要问......).我们能够在一个单独的实例上运行Wagtail,它可以包含最新版本的Python/Django,但我们无法在主应用程序中运行Wagtail.
我们正在考虑将Wagtail严格用作CMS,然后将来自我们主网站的请求代理到Wagtail实例并返回生成的标记.
是否有人做过这样的事情,能否提供对我们可能采取的过程的见解?Wagtail是否提供开箱即用的功能?我们可能会遇到哪些潜在的陷阱,或者我们应该注意哪些事情?
这可能意味着我们不是将"整个页面"存储在Wagtail中,而是将其视为存储不同内容片段的一种方式:一段文本将加载到我们的主页或动态搜索结果页面的外部包装器中.
1> tomd..:
是的,Wagtail通过其API提供这样的功能:
http://docs.wagtail.io/en/v2.1/advanced_topics/api/
您可以使用Javascript从主网站的前端使用API(React和Vue是此方法的常用选项,但如果您不需要具有路由等的复杂单页应用程序,则不需要它们),或者从后端,从您的Django 1.5应用程序的视图发出HTTP请求.
至于潜在的陷阱,主要的问题是Wagtail预览不会开箱即用,因为Wagtail不知道如何呈现内容.如果您在呈现Wagtail API内容的站点上具有可预测的URL结构,则可以配置预览机制来处理此问题.
如果API方法不是您想到的,您还可以考虑在主站点中嵌入渲染片段的方法.例如,如果您在主站点前使用Varnish,则可以利用Edge Side Includes:
https://varnish-cache.org/docs/3.0/tutorial/esi.html
最后,你可能会发现最近关于Wagtail这个"无头"CMS有用的话题:
https://www.youtube.com/watch?v=HZT14u6WwdY(视频)
https://docs.google.com/presentation/d/1ZYMogOeXKCCmr7hDZnzx0euw2pD5VCwtv3a7zHB4FW0/(幻灯片)
https://github.com/openstax/openstax-cms(code)