django-simple-pages

Model-based HTML pages and redirects.


Keywords
django, django-simple-pages, pages, static-site
License
MIT
Install
pip install django-simple-pages==0.3

Documentation

django-simple-pages

travis codacy coverage pypi

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.

Quick-start

  1. Install pip install django-simple-pages.
  2. Add simple_pages to INSTALLED_APPS.
  3. Add simple_pages.middleware.PageFallbackMiddleware to MIDDLEWARE.
  4. Run python manage.py migrate simple_pages.

Usage

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 if template_name is set to simple_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's content.
    • simple_pages/raw.html: Renders the page's content only.

Note: Bold attributes are required.

Changelog

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.