Skip to content

error: Can not get API up without using cms.urls (Headless only mode) #8

Open
@metaforx

Description

@metaforx

Django 5.0.6
Django CMS: 4.1.2
Default is English, not multi-lingual or multi-site setup

If I run headless only, I get API Overview for languages, but not for pages.

HEADLESS:
If I disable cms.urls i loose frontend edit capabilities because if I have to disable {% cms_toolbar %} in templates. It might be related.

Initially, I also got this error: Reverse for 'pages-root' not found. 'pages-root' is not a valid view function or pattern name. When creating a website for the first time.

API Return:

[
    {
        "code": "en",
        "name": "English",
        "public": true,
        "redirect_on_fallback": true,
        "hide_untranslated": true,
        "fallbacks": [],
        "pages": "http://localhost:8080/api/en/pages"
    }
]
"pages": "http://localhost:8080/api/en/pages"
NoReverseMatch at /api/en/pages
Reverse for 'pages-root' not found. 'pages-root' is not a valid view function or pattern name.

HYBRID: SOLVED (order of API in urls.py)

#djangocms_rest/urls.py
path("<slug:language>/pages/<path:path>/", views.PageDetail.as_view(), name="cms-page-detail"),
"path": "http://localhost:8080/api/en/pages/test/",
#error  cms.views.details is hjacking api requests and returns 404

The expected result would be an API return for the test page, right?
I get standard 404 from django.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions