Advanced features¶
Caching¶
dbtemplates uses Django’s default caching infrastructure for caching, and
operates automatically when creating, updating or deleting templates in
the database.
To enable one of them you need to specify a setting called
DBTEMPLATES_CACHE_BACKEND to one of the valid values Django’s
CACHE_BACKEND can be set to. E.g.:
DBTEMPLATES_CACHE_BACKEND = 'memcached://127.0.0.1:11211/'
Note
Starting in version 1.0 dbtemplates allows you also to set the new
dict-based CACHES setting, which was introduced in Django 1.3.
All you have to do is to provide a new entry in the CACHES dict
named 'dbtemplates', e.g.:
CACHES = {
'dbtemplates': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
}
}
Please see the cache documentation if you want to know more about it.
Versioned storage¶
dbtemplates comes prepared to use the third party Django app
django-reversion, that once installed besides dbtemplates allows you
to jump back to old versions of your templates. It automatically saves every
state when you save the template in your database and provides an easy to use
interface.
Please refer to django-reversion’s documentation for more information about how it works.
Hint
Just visit the “History” section of each template instance and browse its history.
Short installation howto¶
- Get the source from the django-reversion project site and put it somewhere on your PYTHONPATH.
- Add
reversionto theINSTALLED_APPSsetting of your Django project - Sync your database with
python manage.py syncdb - Set
DBTEMPLATES_USE_REVERSIONsetting toTrue
Management commands¶
dbtemplates comes with two Django management commands to be used with
django-admin.py or manage.py:
sync_templatesEnables you to sync your already existing file systems templates with the database. It will guide you through the whole process.
create_error_templatesTries to add the two templates
404.htmland500.htmlthat are used by Django when a error occurs.check_template_syntaxNew in version 1.2.
Checks the saved templates whether they are valid Django templates.
Admin actions¶
dbtemplates provides two admin actions to be used with Django>=1.1.
invalidate_cacheInvalidates the cache of the selected templates by calling the appropriate cache backend methods.
repopulate_cacheRepopulates the cache with selected templates by invalidating it first and filling then after that.
check_syntaxNew in version 1.2.
Checks the selected tempaltes for syntax errors.