Leon
Окт. 20, 2010 23:34:22
Всем привет!
Столкнулся со следующей проблемой:
Хочу на Джанго сделать сайт, чтоб пользователь и админ мог заливать текст, картинки, звуковые дорожки и видео…
С текстом и картинками более менее понятно.
Но вот с видео и звуком нет. Для картинок/фото к примеру, нужна библиотека PIL.
Что касается видео и звука - не знаю, не нашел.
Может кто-нибудь что-нибудь посоветует?
Заранее всем спасибо
Александр Кошелев
Окт. 20, 2010 23:46:08
Что вы хотите с этим “видео и звук” потом делать?
Ferroman
Окт. 20, 2010 23:46:13
Видео и звук ничем не отличаются от любых других файлов. Как, собственно, и картинки/фото. Просто для них сделали отдельное поле, но функционально оно слабо отличается от обычного файла.
PIL к загрузке картинок никакого отношения не имеет.
Как загружать файлы есть в документации + сотня статей в интернете. Или у вас есть какая-то более конкретная проблема связанная с загрузкой файлов?
Leon
Окт. 20, 2010 23:54:32
Спасибо за оперативность.
Я так скажем начинающий.
Читая и делая пример с фотогаллереей из книжки господ Форсье Биссекс и Чан “Разработка веб приложений на Питон” там сказано, что для загрузки фоток нужна PIL. (Или я не понял. возможно, чтоб использовать класс Thumbnail она нужна…?)
Короче, задача тогда вот в чем. Подскажите где научиться или скажите как сбацать - загрузку любого контента (любого = текст, видео, звук, архивный файл, короче любой файл…) на сайт. Т.е. я не делал и не знаю как сделать так, чтоб тупо загружать любой файл.
Далее должно быть так, чтоб другой пользователь смог найти по названию тот же видео - посмотреть, или скачать.
Еще раз, спасибо за оперативность, не ожидал.
Ferroman
Окт. 21, 2010 00:15:34
Leon
Окт. 21, 2010 22:17:51
Всем привет!
Пишу следующее:
#models.py
class CodeUpLoad(models.Model):
SYNTAX_CHOICES = (
(0, "C/C++"),
(1, "Python"),
)
content = models.TextField()
title = models.CharField(blank=True, max_length=150)
syntax = models.IntegerField(max_length=30, choices=SYNTAX_CHOICES, default=0)
class FileUpLoad(forms.Form):
FILE_CHOICES = (
(0, "Sound"),
(1, "Video"),
)
title = forms.CharField(max_length=50)
syntax = forms.IntegerField(max_length=30, choices=FILE_CHOICES, default=0)
file = forms.FileField()
class Meta:
ordering = ['title']
class FileUpLoadAdmin(admin.ModelAdmin):
list_display = ('title', 'syntax')
list_filter = ('syntax', 'title')
admin.site.register(CodeUpLoad)
admin.site.register(FileUpLoad, FileUpLoadAdmin)
В итоге не может даже построить базу. Не подскажите, что не так?
fata1ex
Окт. 22, 2010 00:08:40
что пишет? где импорты?
Leon
Окт. 22, 2010 00:29:15
fata1ex
что пишет? где импорты?
Прилагаю в прикрепленном файле
Спасибо за ответы
Leon
Окт. 22, 2010 00:35:13
НЕ понял, прикрепился ли файло.
Короче, на данный момент пишет typeError __init__() got an unexpected keyword argument ‘max_length’
Также не могу добавить путь сохранения файлов upload_to=…. - сразу ошибка.
Еще и другие ошибки, появляются, но по ходу исправления.
Ferroman
Окт. 22, 2010 00:54:21
Внимательнее прочитайте про параметры филдов. У
IntegerField нет параметра длины.