Пользовательские страницы могут быть запрошены только на локальном хосте - PagesAPIEndpoint - PullRequest
1 голос
/ 17 мая 2019

Может кто-нибудь сказать мне, почему мой 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

Я даже добавил пользовательский URL в ALLOWED_HOSTS.Я должен запустить dev build

Редактировать: Для тех, кто интересуется исправлением, газовик прав насчет точки входа.Однако вам также необходимо установить правильный корень.У меня было две ошибки

1 Ответ

2 голосов
/ 17 мая 2019

Вам необходимо установить правильное имя хоста в Wagtail admin, в Настройки -> Сайты.API будет возвращать страницы, принадлежащие текущему сайту, то есть ту, которая соответствует имени хоста в запросе API, поэтому, если для этого параметра установлено значение localhost, он будет отвечать только на запросы на localhost.В качестве альтернативы, отметка флажка «сайт по умолчанию» должна позволить ему совпадать на всех именах хостов.

...