Django-cmstemplates is efficient templates-in-db implementation.
Application is aimed to support python 3.4+ and django 1.9+.
Features
- Template blocks can be edited in your admin
- Django's cache machinery is actively used
- Template group autocreation (if group is not exist)
- Codemirror widget support
- Ability to view template only for superuser, useful when editing in production.
Installation
-
Add
cmstemplates
toINSTALLED_APPS
-
Run
./manage.py migrate cmstemplates
-
Go to admin and create new group template with name test-group You can skip this step for now, if you want template to be auto-created.
-
Add this group to your template with following tag:
{% load cmstemplates_tags %} {% cms_group "test-group" %}
If you skipped step three, then template group test-group will be created automatically.
-
Create some templates for this group in admin.
-
Refresh target site page and see your templates content.
Using codemirror widget
Add to your settings:
CMSTEMPLATES_USE_CODEMIRROR = True
Install codemirror widget:
-
source env/bin/activate
-
pip install django-codemirror-widget
-
cd project_name/static/vendor
-
unzip codemirror.zip
-
mv codemirror-4.2 codemirror
-
Add to settings:
CODEMIRROR_PATH = 'vendor/codemirror' CODEMIRROR_THEME = 'default' CODEMIRROR_CONFIG = {'lineNumbers': True}
Final settings should look like this:
# cmstemplates CMSTEMPLATES_USE_CODEMIRROR = True # codemirror CODEMIRROR_PATH = 'vendor/codemirror' CODEMIRROR_THEME = 'default' CODEMIRROR_CONFIG = {'lineNumbers': True}