热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用Wagtail作为API层

如何解决《使用Wagtail作为API层》经验,为你挑选了1个好方法。

我公司正在评估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)


推荐阅读
  • 本文详细介绍了如何在Kendo UI for jQuery的数据管理组件中,将行标题字段呈现为锚点(即可点击链接),帮助开发人员更高效地实现这一功能。通过具体的代码示例和解释,即使是新手也能轻松掌握。 ... [详细]
  • yikesnews第11期:微软Office两个0day和一个提权0day
    点击阅读原文可点击链接根据法国大选被黑客干扰,发送了带漏洞的文档Trumps_Attack_on_Syria_English.docx而此漏洞与ESET&FireEy ... [详细]
  • 解决Spring Boot项目创建失败的问题
    在尝试创建新的Spring Boot项目时遇到了一些问题,具体表现为在项目创建过程中的两个关键步骤出现错误。本文将详细探讨这些问题及其解决方案。 ... [详细]
  • 本文介绍如何在 Visual Studio Code 中使用 Jupyter Notebook 插件,包括创建、编辑和运行笔记本的基本操作。 ... [详细]
  • Django xAdmin 使用指南(第一部分)
    本文介绍如何在Django项目中集成和使用xAdmin,这是一个增强版的管理界面,提供了比Django默认admin更多的功能。文中详细描述了集成步骤及配置方法。 ... [详细]
  • 本文详细介绍了 Java 中 org.geotools.data.shapefile.ShapefileDataStore 类的 getCurrentTypeName() 方法,并提供了多个代码示例,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 在PHP后端开发中遇到一个难题:通过第三方类文件发送短信功能返回的JSON字符串无法解析。本文将探讨可能的原因并提供解决方案。 ... [详细]
  • 探讨 HDU 1536 题目,即 S-Nim 游戏的博弈策略。通过 SG 函数分析游戏胜负的关键,并介绍如何编程实现解决方案。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 本文探讨了在Django项目中,如何在对象详情页面添加前后导航链接,以提升用户体验。文章详细描述了遇到的问题及解决方案。 ... [详细]
  • 本文介绍如何使用 NeDB 对嵌套结构的数据进行模糊搜索,特别是针对包含嵌套数组的对象。通过示例代码和详细解释,帮助开发者正确实现这一功能。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • Mongoose 5.12.10 发布:MongoDB 异步对象模型工具的新特性与修复
    Mongoose 是一款专为异步环境设计的 MongoDB 对象模型工具,支持 Promise 和回调函数。最新版本 Mongoose 5.12.10 带来了多项修复和改进,包括查询选项中的默认值设置、嵌入式判别器填充、以及 TypeScript 定义文件的优化。 ... [详细]
  • 配置PHPStudy环境并使用DVWA进行Web安全测试
    本文详细介绍了如何在PHPStudy环境下配置DVWA( Damn Vulnerable Web Application ),并利用该平台进行SQL注入和XSS攻击的练习。通过此过程,读者可以熟悉常见的Web漏洞及其利用方法。 ... [详细]
  • 深入剖析JVM垃圾回收机制
    本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
author-avatar
萌新求学
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有