How fluent uses django-polymorphic to link different types of pages into a single tree structure, and different types of content items into a modular content placeholder.
How fluent-pages uses a single dispatch view to route requests to UrlNode objects by comparing the request path to the UrlNode cached URLs (the combined slugs for a UrlNode and all its ancestors).
How page type plugins have a get_response() method (analogy to view code for a fluent page URL).
How page type plugins can also define additional nested URL patterns that map to traditional views, so that a page type can behave as a mount point for an application or functionality is split across several pages.
How modular content placeholders are defined in templates.
How different allowed content items are defined for named placeholders.
How to find out what template is used for a given fluent page, or a given piece of modular content on a page.
How to find out what view or get_response() method was used to render a given page.
How fluent uses django-polymorphic to link different types of pages into a single tree structure, and different types of content items into a modular content placeholder.
How fluent-pages uses a single dispatch view to route requests to UrlNode objects by comparing the request path to the UrlNode cached URLs (the combined slugs for a UrlNode and all its ancestors).
How page type plugins have a
get_response()
method (analogy to view code for a fluent page URL).How page type plugins can also define additional nested URL patterns that map to traditional views, so that a page type can behave as a mount point for an application or functionality is split across several pages.
How modular content placeholders are defined in templates.
How different allowed content items are defined for named placeholders.
How to find out what template is used for a given fluent page, or a given piece of modular content on a page.
How to find out what view or
get_response()
method was used to render a given page.