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
reversion
to theINSTALLED_APPS
setting of your Django project - Sync your database with
python manage.py syncdb
- Set
DBTEMPLATES_USE_REVERSION
setting toTrue
Management commands¶
dbtemplates
comes with two Django management commands to be used with
django-admin.py
or manage.py
:
sync_templates
Enables you to sync your already existing file systems templates with the database. It will guide you through the whole process.
create_error_templates
Tries to add the two templates
404.html
and500.html
that are used by Django when a error occurs.check_template_syntax
New 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_cache
Invalidates the cache of the selected templates by calling the appropriate cache backend methods.
repopulate_cache
Repopulates the cache with selected templates by invalidating it first and filling then after that.
check_syntax
New in version 1.2.
Checks the selected tempaltes for syntax errors.