Доброго времени суток! Прошу помощи прикрутить форму загрузки медиаконтента в админ-панели. Дано:
Модель контента
class MediaItem(models.Model):
video = VideoField( upload_to = upload_to,
width_field = 'video_width', height_field = 'video_height',
rotation_field = 'video_rotation',
mimetype_field = 'video_mimetype',
duration_field = 'video_duration',
thumbnail_field = 'video_thumbnail')
video_width = models.IntegerField(null = True, blank = True)
video_height = models.IntegerField(null = True, blank = True)
video_rotation = models.FloatField(null = True, blank = True)
video_mimetype = models.CharField(max_length = 32, null = True, blank = True)
video_duration = models.IntegerField(null = True, blank = True)
video_thumbnail = models.ImageField(null = True, blank = True)
video_mp4 = VideoSpecField(source = 'video', format = 'mp4')
video_ogg = VideoSpecField(source = 'video', format = 'ogg')
video_webm = VideoSpecField(source='video', format='webm')
def __unicode__(self):
return self.video.name
def video_specs_generated(self):
if self.video_mp4.generated() and self.video_ogg.generated():
return True
return False
Форма
from videokit.forms import VideoField
class MediaItemCreateForm(forms.Form):
video = VideoField()
Представление
def item_create(request):
template = 'app/item_create.html'
item_create_form = MediaItemCreateForm()
if request.method == 'POST':
item_create_form = MediaItemCreateForm(request.POST, request.FILES)
if item_create_form.is_valid():
video = request.FILES.get('video', None)
if video:
media_item = MediaItem(video = video)
media_item.save()
media_item.video_webm.generate()
return HttpResponseRedirect(reverse('list'))
context = {
'item_create_form' : item_create_form,
}
return render(request, template, context)
Ну и дефолтный класс в admin.py
class MediaItemAdmin(admin.ModelAdmin):
pass
admin.site.register(MediaItem, MediaItemAdmin)
Вопрос заключается в следующем: что написать в дефолтном классе админки чтоб работала загрузка файла через админку а не с сайта.