Retain files after form validation. Keep the file data in the cache for 15 minutes and allow to resubmit form and cache data will be saved in to the database after success form validation.
Cache data can be cleared by checkbox.
pip install filefield-cache
- Add filefield_cache to your INSTALLED_APPS settings:
- required
INSTALLED_APPS = (
...
'filefield_cache',
...
)
- Add Admin form in admin.py
- required
from django.contrib import admin
from django.contrib.admin import register
from demo.documents.forms import DocumentForm
from demo.documents.models import Document
@register(Document)
class DocumentAdmin(admin.ModelAdmin):
form = DocumentForm
...
- Create form in forms.py.
- required
from django import forms
from filefield_cache.widgets import CachedAdminFileWidget
from demo.documents.models import Document
class DocumentForm(forms.ModelForm):
file = forms.FileField(widget=CachedAdminFileWidget)
picture = forms.ImageField(widget=CachedAdminFileWidget)
class Meta:
model = Document
fields = '__all__'