forms.py 821 B

12345678910111213141516171819202122232425
  1. # -*- coding: utf-8 -*-
  2. from __future__ import unicode_literals, division, print_function
  3. from django.forms import ModelForm
  4. from multiupload.fields import MultiFileField
  5. from .models import Panorama, PanoramaPhoto
  6. class PanoramaUploadForm(ModelForm):
  7. """Custom form, providing a MultiFileField widget that allows to add
  8. multiple photos at the same time.
  9. """
  10. photos = MultiFileField(min_num=1, max_num=25, max_file_size=1024*1024*100)
  11. def save(self, commit=True):
  12. instance = super(PanoramaUploadForm, self).save(commit)
  13. for each in self.cleaned_data['photos']:
  14. PanoramaPhoto.objects.create(photo=each, panorama=instance)
  15. return instance
  16. class Meta:
  17. model = Panorama
  18. fields = ('name', 'image', 'loop', 'latitude', 'longitude', 'altitude')