Я запускаю Django 1.7.Как получить доступ к формам Django. Файл FileField (* not models.FileField *)?
У меня есть следующий вид модели:
class DeckCreateForm(forms.ModelForm):
csv_file = forms.FileField(required=False)
class Meta:
model = Deck
fields = ['title', 'description']
Обратите внимание, что поле файл не является частью модели (и я хотел бы сохранить его таким образом). Это поле файла предназначено для предоставления альтернативных способов построения модели Deck.
Я хотел бы знать, как получить доступ к загруженному файлу. Я смотрел в своем медиа-каталоге, но его там нет. Я попытался добавить «upload_to» в конструктор csv_file, но получаю сообщение об ошибке:
TypeError: __init__() got an unexpected keyword argument 'upload_to'
EDIT:
Я хотел бы знать, как заставить это работать с общим классом на основе создания вида, что делает использование указанного выше вида модели - в views.py у меня есть:
class DeckCreateView(CreateView):
model = Deck
form_class = DeckCreateForm
template_name = 'deck_create.html'
в частности, как я могу изменить что-то вроде http://docs.djangoproject.com/en/1.7/topics/http/file-uploads работать с на основе представления выше класса. Мой urls.py файл:
urlpatterns = patterns(
...
url(r"^deck/create/$", views.DeckCreateView.as_view(), name="deck-create"),
...
)
Есть ли способ, который я могу переопределить в DeckCreateView для обработки загрузить файл?
https://docs.djangoproject.com/en/1.7/topics/http/file-uploads/ это очень хорошо объясняет процесс. – kviktor
kviktor - Я отредактировал вопрос в ответ на ваш комментарий. Я хочу применить это к представлению с общим классом. –