我的公司正在评估Wagtail作为CMS为我们的部分网站。目前我们正在运行Python2.7和Django 1.5 (不要问.)。我们能够在一个单独的实例上运行Wagtail,这个实例可以包含Python/Django的最新版本,但是我们无法在我们的主应用程序中直接运行Wagtail。
我们将严格地将Wagtail作为CMS使用,然后将请求从我们的主网站代理到Wagtail实例,并返回生成的标记。
有没有人做过这样的事情,对我们可能采取的过程提供了洞察力?Wagtail提供这样的功能吗?我们可能会遇到哪些潜在的陷阱,或者我们应该注意的事情?
这可能意味着,与存储在Wagtail中的“整个页面”不同,我们将其视为存储不同内容片段的一种方式:一段文本将加载到我们的主页中,或者是动态搜索结果页面的外部包装器。
发布于 2018-07-03 14:42:24
是的,Wagtail确实提供了这样的功能,通过它的API:
topics/api/
您可以使用JavaScript从主网站的前端使用API (React和Vue是这种方法的流行选项,但如果您不需要复杂的带有路由等的单一页面应用程序,则它们是不必要的),或者从后端从Django 1.5应用程序的视图中发出HTTP请求。
至于潜在的陷阱,主要的问题是,Wagtail预览无法在框外运行,因为Wagtail不知道内容将如何呈现。如果站点上有一个可预测的URL结构来呈现Wagtail API内容,则可以配置预览机制来处理这个问题。
如果API方法不是您想要的,您还可以考虑在主站点中嵌入呈现的片段的方法。例如,如果您在主站点前面使用“清漆”,您可以利用Edge Side的优势包括:
https://varnish-cache.org/docs/3.0/tutorial/esi.html
最后,您可能会发现最近关于Wagtail作为“无头”CMS的讨论很有用:
https://stackoverflow.com/questions/51156080
复制相似问题