【发布时间】:2021-06-16 23:21:13
【问题描述】:
根据文档,Wagtail API 是只读的(不允许使用 POST 方法)。因此,使用来自Sidebar Menu 的表单的唯一方法是using Templates,因此客户端能够在内部针对 API 发出 post 请求。但这不是无头的。要成为无头 API,必须能够通过提供 URL 来接收表单数据。
“Wagtail API 模块公开了一个公共的、只读的、JSON 格式的 API,可供外部客户端(例如移动应用程序)或网站的前端使用。”
...
在这一点上,我没有丝毫线索,这意味着我不得不重新考虑我的堆栈,尽管到目前为止,我对 Wagtail 作为无头 CMS 和 Nuxt 作为客户端非常满意。任何避免这种措施的想法都会非常受欢迎。
更新 - 对 Wagtail API v2 的 Nuxt POST 请求
pages/index.vue
<template>
...
</template>
<script>
export default {
components: {
},
async asyncData ({ $axios, req }) {
const pageHome = await $axios.$get('https://foo.bar.com/api/v2/pages/3/')
return { pageHome }
}
</script>
【问题讨论】:
-
您找到解决方案了吗?我面临同样的问题。
GET表单很容易作为标准页面。不知道如何POST。 -
@JunmingWang 出于开发目的,只需禁用 CSRF 中间件,这样您就可以在没有 Token 的情况下
POST。对于生产环境,必须安装 Django CSRF 机制,这需要一些时间。
标签: django wagtail headless-cms wagtail-apiv2