v3.0 (2019-01-27)


This is a backwards-incompatible release!

  • Dropped support for Django < 1.11.
  • Added support for Django 2.0 and 2.1.
  • Added support for Python 3.7.
  • Recompiled Russian locale.
  • Fixed byte string in migration file that caused the migration system to falsely think that there are new changes.
  • Fixed string representation of template model, e.g. to improve readability in choice fields.

v2.0 (2016-09-29)


This is a backwards-incompatible release!

  • Moved maintenance to the Jazzband
  • Dropped support for Python 2.6
  • Added support for Python 3.4 and 3.5
  • Dropped support for Django < 1.8
  • Removed South migrations. Please use Django’s native migration system instead
  • Removed the example project since it’s out-of-date quickly

v1.3.2 (2015-06-15)

  • support for Django 1.8 (not full, but usable)
  • support for RedactorJS

thanks for contrib - @eculver, @kmooney, @volksman

v1.3.1 (2012-05-23)

v1.3 (2012-05-07)

  • Dropped support for Django < 1.3 backwards incompatible
  • Dropped using versiontools in favor of home made solution.
  • Added optional support for TinyMCE editor instead of the CodeMirror editor (just enable DBTEMPLATES_USE_TINYMCE).
  • Fixed compatibility to Django 1.4’s handling of the DATABASES setting. Should also respect database routers now.
  • Fixed an issue of the cache key generation in combination with memcache’s inability to stomach spaces.
  • Moved test runner to use nose and a hosted CI project at Travis:

v1.2.1 (2011-09-07)

  • Fixed a wrong use of the non-lazy localization tools.
  • Fixed bugs in the documentation.
  • Make use of django-appconf and versiontools.

v1.2 (2011-08-15)

  • Refactored the template loader to be even more cache effective.
  • Added check_template_syntax management command and admin action to make sure the saved templates are valid Django templates.

v1.1.1 (2011-07-08)

  • Fixed bug in cache loading (again).
  • Fixed bugs in the documentation.


Since dbtemplates removed support for Django lower than 1.2 you have to use the template loader class in the TEMPLATE_LOADERS ('dbtemplates.loader.Loader') and not the previosly included function that ended with load_template_source.

v1.1 (2011-07-06)

  • BACKWARDS-INCOMPATIBLE Requires Django 1.2 or higher. For previous Django versions use an older versions of dbtemplates, e.g.:

    $ pip install "django-dbtemplates<1.1"
  • Added South migrations.


If you are using South in your Django project, you can easily enable dbtemplates’ migrations, faking the first migration by using the --fake option of South’s migrate management command:

$ migrate --fake 0001 dbtemplates

Then run the rest of the migrations:

$ migrate dbtemplates
  • Removed uniqueness on the name field of the Template model. This is needed because there isn’t a unique_together for M2M fields in Django such as the sites field in the Template model.
  • Made the sites field optional to support a way to apply a template to all sites.
  • Added --delete option to sync_templates managment command to delete the file or database entry after syncing (depending on used --overwrite mode).
  • Updated translations.
  • Fixed issue with incorrectly splitting paths in sync_templates.
  • Extended tests.
  • Fixed issue with cache settings handling.

v1.0.1 (2011-04-14)

  • Minor bugfixes with regard to the new cache handling.

v1.0 (2011-04-11)


This is the first stable release of django-dbtemplates which comes with a series of backwards incompatible changes.

  • Removed own caching mechanism in favor of Django based caching mechanism. The DBTEMPLATES_CACHE_BACKEND is expected to be a valid cache backend URI, just like Django’s own CACHE_BACKEND setting. In Django >= 1.3 an 'dbtemplates' entry in the CACHES setting is also considered valid.
  • Added tox configuration to test dbtemplates on Python 2.5, 2.6 and 2.7 with Django 1.1.X, 1.2.X and 1.3.X.
  • Added Transifex configuration.
  • Use STATIC_URL setting instead of MEDIA_URL for the media prefix. Also moved files from media/* to static/* to follow convention introduced in Django 1.3.
  • Use ReadTheDocs for documentation hosting.

v0.8.0 (2010-11-07)

  • Added Finnish translation (by jholster)
  • Added –overwrite and –app-first options to sync_templates command (by Alex Kamedov).

v0.7.4 (2010-09-23)

  • Fixed tests.

v0.7.3 (2010-09-21)

  • Added DBTEMPLATES_AUTO_POPULATE_CONTENT setting to be able to disable to auto-populating of template content.
  • Fixed cosmetic issue in admin with collapsable fields.

v0.7.2 (2010-09-04)

  • Moved to Github again. Sigh.

v0.7.1 (2010-07-07)

  • Fixed problem with the CodeMirror textarea, which wasn’t completely disabled before.

  • Fixed problem with the DBTEMPLATES_MEDIA_PREFIX setting, which defaults now to os.path.join(settings.MEDIA_ROOT, 'dbtemplates') now.

    In other words, if you don’t specify a DBTEMPLATES_MEDIA_PREFIX setting and have the CodeMirror textarea enabled, dbtemplates will look in a subdirectory of your site’s MEDIA_ROOT for the CodeMirror media files.

v0.7.0 (2010-06-24)

  • Added CodeMirror-based syntax highlighting textarea, based on the amaxing work by Nic Pottier. Set the DBTEMPLATES_USE_CODEMIRROR setting to True to enable it.
  • Make use of the full width in plain textarea mode.
  • Added Chinese translation
  • Added support for Django 1.2
  • Updated French translation
  • Added DBTEMPLATES_USE_REVERSION setting to be able to explicitely enable reversion support. (Default: False)

v0.6.1 (2009-10-19)

  • Fixed issue with default site of a template, added ability to disable default site (DBTEMPLATES_ADD_DEFAULT_SITE).

v0.6.0 (2009-10-09)

  • Updated and added locales (Danish, Brazilian Portuguese)
  • Fixes an ambiguity problem with the cache invalidation
  • Added invalidate_cache and repopulate_cache admin actions
  • Added Sphinx documentation


  • Updates to the docs
  • switch back to Bitbucket
  • fixed tests
  • Added Italian translation
  • list of sites the template is used on
  • fixed bug in create_error_template command.


  • Made loader and cache backends site-aware.
  • The filesystem cache backend now saves the files under <dir>/<site_domain>/<file_name>.
  • The Django cache backend the Site id in the cache key
  • Template is now saved explicitly to backend if not existent in cache (e.g. if deleted manually or invalidated).


  • Removed automatic creation of 404.html and 50v0.html templates and added a new management command for those cases called create_error_templates
  • Also reverted move to Bitbucket


  • Fixed a problem with django.contrib.sites when its table hasn’t been populated yet on initialization of dbtemplates. Thanks for the report, Kevin Fricovsky
  • Added an example Django project and docs for it


  • Removed unneeded code that registered the model with reversion.
  • Updated docs a bit.
  • Moved codebase to Bitbucket.
  • Removed legacy script, use sync_templates from now on.


  • Added support for django-reversion

  • added feature that populates the content field automatically when left empty by using Django’s other template loaders

  • added caching backend system with two default backends:

    • FileSystemBackend
    • DjangoCacheBackend

    More about it in the blog post and in the docs.


  • Minor bugfix


  • Minor doc change and PyPI support


  • fixed the –force option of the sync_templates command


  • fixed error in custom model save() after changes in Django r8670.


  • removed oldforms code


  • added Hebrew translation (by mkriheli)


  • added French (by Roland Frederic) and German locale


  • adds better support for newforms-admin
  • don’t forget to load the dbtemplates.admin, e.g. by using django.contrib.admin.autodiscover() in you


  • adds a new management command sync_templates for bidirectional syncing between filesystem and database (backwards-compatible) and FilesystemCaching (thanks, Arne Brodowski!)


  • adds support for newforms-admin


Please leave your questions and messages on the designated site: