Preview model changes without saving them into the database. Watch a demo on YouTube.
Requirements:
- Django >= 1.8.x
- Python >= 2.7.x
Instal the package via pip
:
pip install django-light-draft
Add next lines to the settings.py
of your project:
INSTALLED_APPS = (
...,
'light_draft',
)
# Default settings. If you are happy with them - you can omit them.
DRAFT_SETTINGS = {
'cache_name': 'default', # or any other cache you may have
'ttl': 60*5,
}
To make it work, you need to have at least default
cache defined. If you are not familiar with this term check out documentation. In simpliest case you can enable in memory like this:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': 'just-an-example',
}
}
Then, in order to enable the feature for a particular model you need to make sure:
- The admin model has been inherited from
light_draft.admin.DraftAdmin
:
from light_draft.admin import DraftAdmin
class MyModelAdmin(DraftAdmin):
...
- The detail view of your model has been inherited from
light_draft.views.BaseDraftView
:
from light_draft.views import BaseDraftView
class MyModelDetailView(BaseDraftView):
...
- The model has
.get_absolute_url()
method defined.
See example/blog
app for more details.
See CONTRIBUTING.md file for information how you can contribute to the project. Cheers!
The MIT License (MIT)
Copyright (c) 2014 Vladimir Savin.