Efficient django template blocks implementation
Project description
Django-cmstemplates is efficient templates-in-db implementation.
Application is aimed to support python 2.7, 3.3, 3.4 and django 1.7+.
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 to INSTALLED_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 built-in django include tag:
{% 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}