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.
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
-
In your root template directory create
flatly
folder. -
Define
FLATLY_TEMPLATE_ROOT
setting:FLATLY_TEMPLATE_ROOT = 'flatly'
-
Any
.html
files you create in yourflatly
directory will be automatically served. So if you create a new fileflatly/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:
${FLATLY_TEMPLATE_ROOT}/account/user_profile
${FLATLY_TEMPLATE_ROOT}/account/user_profile.html
${FLATLY_TEMPLATE_ROOT}/account/user_profile/index.html
Settings
Template root
django-flatly
based on Django's get_template
function.
So, any user can access any template on your website. You can
restrict access to certain templates by adding the following:
FLATLY_TEMPLATE_ROOT = 'flatly'
By adding the above configuration django-flatly
will add
specified path prefix to the template name before search.
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']
.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_flatly-0.2.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa4944ec3b30802a5e1271faa4a41146cd41f6308076c227ae8eaf23808893a0 |
|
MD5 | c8ac8fdd5d46daf7bad82f2cc0b4678c |
|
BLAKE2b-256 | 25493c17ecf04c3083138165a25319c4b83de65aef3d2e542ea232a13af79f92 |