Skip to main content

Serving flat pages with Django without views and database.

Project description

django-flatly

Serving flat pages with Django without views and database.

Helps to separate deployment of front- and backend.

PyPI Build Status Software license

Compatibility

  • django >= 2.0
  • python >= 3.6

Installation

Install the latest release with pip:

pip install django-flatly

Than add a URL to urlpatterns:

# urls.py
urlpatterns = [
    ...,
    # all others urls above - flatly.urls last one to try!
    path('', include('flatly.urls')),
]

Quick start

  1. In your root template directory create flatly folder.

  2. Define FLATLY_TEMPLATE_ROOT setting:

    FLATLY_TEMPLATE_ROOT = 'flatly'
    
  3. Any .html files you create in your flatly directory will be automatically served. So if you create a new file flatly/about_us/overview.html then it will be visible at /about-us/overview/.

Note that django-flatly automatically replaces underscores (_) with dashes (-).

Search path

Suppose you are requesting the page /account/user-profile/, django-flatly will render the first template that exists:

  1. ${FLATLY_TEMPLATE_ROOT}/account/user_profile
  2. ${FLATLY_TEMPLATE_ROOT}/account/user_profile.html
  3. ${FLATLY_TEMPLATE_ROOT}/account/user_profile/index.html

Settings

Template root

django-flatly based on Django's get_template function. So, user can access any template on your website. You can restrict access to certain templates by adding the path prefix to the template name before search:

FLATLY_TEMPLATE_ROOT = 'flatly'

Note that flatly folder can be located in both root and application template directories.

Defaults to flatly.

Template engine

You can restrict the template search to a particular template engine.

FLATLY_ENGINE = 'jinja2'

Defaults to None.

Template caching

By default (when DEBUG is True), the template system searches, reads and compiles your templates every time they’re rendered. It's convenient for local development, because no need to restart the server after adding/removing templates.

You can enforce template caching:

FLATLY_CACHE_ENABLED = True

The cached Template instance is returned for subsequent requests to load the same template.

Defaults to True is settings.DEBUG is False.

Extensions

List of file extensions to iterate over all matching files.

FLATLY_EXTENSIONS = ['html', 'jinja2']

Defaults to ['html'].

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-flatly-0.3.1.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

django_flatly-0.3.1-py2.py3-none-any.whl (6.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file django-flatly-0.3.1.tar.gz.

File metadata

  • Download URL: django-flatly-0.3.1.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for django-flatly-0.3.1.tar.gz
Algorithm Hash digest
SHA256 a1635de525813c162ff5e6e52a471865fb8191d4bafb6d2462dd462e1e51ece9
MD5 f42754f583dab2acbaff2450b47ddae1
BLAKE2b-256 104a6d56bb6df397c84e1f6d9068aeb35eaeefc93d41f90d0246f63e37ec463a

See more details on using hashes here.

File details

Details for the file django_flatly-0.3.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_flatly-0.3.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 72de0a8f27e2a387e3d135e1dbcbc8ae37cffcff834a3ef37c7a44dd99763ec1
MD5 7d4b328afecc01b4dc24702942555ecc
BLAKE2b-256 74b42da207ab80757e4d038082e3a87756136c1a36f8164b51f6aa1542684855

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page