forms.py
929 Bytes
from django.conf import settings
from django import forms
from .models import TopicFile
from django.core.exceptions import ValidationError, FieldError
from django.utils.translation import ugettext_lazy as _
class FileForm(forms.ModelForm):
def clean_file_url(self):
file_url = self.cleaned_data['file_url']
if file_url._size > settings.MAX_UPLOAD_SIZE:
raise forms.ValidationError(_('File too large (Max 10MB)'))
return file_url
class Meta:
model = TopicFile
fields = ['name', 'file_url']
class UpdateFileForm(forms.ModelForm):
file_url = forms.FileField(required=False)
def clean_file_url(self):
file_url = self.cleaned_data['file_url']
print(file_url)
if file_url:
if hasattr(file_url, '_size'):
if file_url._size > settings.MAX_UPLOAD_SIZE:
raise forms.ValidationError(_('File too large (Max 10MB)'))
return file_url
class Meta:
model = TopicFile
fields = ['name', 'file_url']