【发布时间】:2015-01-03 17:08:54
【问题描述】:
我正在运行 Django 1.7。
我有以下模型形式:
class DeckCreateForm(forms.ModelForm):
csv_file = forms.FileField(required=False)
class Meta:
model = Deck
fields = ['title', 'description']
请注意,文件字段不是模型的一部分(我想保持这种方式)。此文件字段旨在提供构建模型 Deck 的替代方法。
我想知道如何访问上传的文件。我查看了我的媒体目录,但它不存在。我尝试在 csv_file 构造函数中添加“upload_to”,但出现错误:
TypeError: __init__() got an unexpected keyword argument 'upload_to'
编辑:
我想知道如何让它与基于通用类的创建视图一起使用,该视图使用上述模型形式 - 在 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 中重写的方法来处理文件上传?
【问题讨论】:
-
kviktor - 我编辑了问题以回应您的评论。我希望将此应用于基于通用类的视图。
标签: python django django-forms django-1.7