django-simple-pages allows you to store HTML documents in models, which can be served automatically without the need for hard-coded URL patterns.
Example use cases include:
- Serving a static website.
- Handling redirects for relocated resources.
- Verifying site ownership for Google Search Console.
- Install
pip install django-simple-pages
. - Add
simple_pages
toINSTALLED_APPS
. - Add
simple_pages.middleware.PageFallbackMiddleware
toMIDDLEWARE
. - Run
python manage.py migrate simple_pages
.
Simply navigate to /admin
and create a new Page
object. A Page
consists of the following attributes:
- title: The title of the page. This is rendered in the
<title>
tag iftemplate_name
is set tosimple_pages/default.html
. - access_url: The URL to access this page. All URLs should start with a leading slash.
- redirect_url: The URL to redirect to. If set,
content
will not be rendered. - enabled: When set to True, this page is active. Setting this value to
False means that you will see a 404 if you navigate to the page's
access_url
. - template_name: The path to the template used to render
content
. Supported values include:simple_pages/default.html
: Renders a<head>
containing a<title>
tag, and a<body>
containing the page'scontent
.simple_pages/raw.html
: Renders the page'scontent
only.
Note: Bold attributes are required.
Version | Description |
---|---|
0.3 | Added fade.html template. |
0.2.1 | Bump version to include all new documentation. |
0.2 | Admin detail view uses HTML code editor, rather than a plain textarea. |
0.1.1 | Fixes incorrect help_text on Page.template_name. |
0.1 | Initial version. |