自定义页面只能在本地主机上查询-PagesAPIEndpoint

时间:2019-05-17 05:57:19

标签: django wagtail

有人可以告诉我为什么只能在api_router.register_endpoint('pages', PagesAPIEndpoint)上查询我的localhost吗?

api_router.register_endpoint('images', ImagesAPIEndpoint)可以任意一种方式工作。

我试图找出65和1007之间的差异,因为最后一个数字似乎有些武断。对api/v2/images的成功尝试是446

curl http://192.168.10.220:8000/api/cms/v2/pages/
{
    "meta": {
        "total_count": 0
    },
    "items": []
}
web_1  | [17/May/2019 05:52:35] "GET /api/cms/v2/pages/ HTTP/1.1" 200 65

curl  http://localhost:8000/api/cms/v2/pages/
{
    "meta": {
        "total_count": 2
    },
    "items": [
        {
            "id": 4,
            "meta": {
                "type": "cms.ArticlePageIndex",
                "detail_url": "http://localhost/api/cms/v2/pages/4/",
                "html_url": "http://localhost/api/cms/",
                "slug": "article",
                "first_published_at": "2019-05-05T04:43:25.433000Z"
            },
            "title": "article"
        },
        {
            "id": 5,
            "meta": {
                "type": "cms.ArticlePage",
                "detail_url": "http://localhost/api/cms/v2/pages/5/",
                "html_url": "http://localhost/api/cms/txa709-treats-mrsa-infection-and-restores-efficacy-cefdinir/",
                "slug": "txa709-treats-mrsa-infection-and-restores-efficacy-cefdinir",
                "first_published_at": "2019-05-05T05:05:02.483000Z"
            },
            "title": "TXA709 treats MRSA infection and restores efficacy of cefdinir"
        }
    ]
}
web_1  | [17/May/2019 05:52:35] "GET /api/cms/v2/pages/ HTTP/1.1" 200 1007

我什至将自定义网址添加到ALLOWED_HOSTS。我应该运行一个开发版本

编辑:对于任何想知道该修复程序的人,加斯曼对入口点都是正确的。但是,您还需要设置正确的根目录。我有两个错误

1 个答案:

答案 0 :(得分:2)

您需要在Wagtail管理员中的“设置”->“站点”下设置正确的主机名。 API将返回属于当前站点的页面(即与API请求中的主机名匹配的页面),因此,如果将其设置为localhost,它将仅响应localhost上的请求。另外,勾选“默认站点”复选框应允许它与所有主机名匹配。