我有一个模特:
class Dialogue(models.Model):
...
avatar = models.ImageField(upload_to=conference_directory_path, blank=True)
...
它的ModelForm:
class CreateConferenceForm(forms.ModelForm):
class Meta:
model = Dialogue
fields = ['name', 'participants', 'avatar']
...
我的问题是我是否需要为处理上传的头像制作一个特殊功能,如:
def handle_uploaded_file(file):
with open(some_file_path, 'wb+') as destination:
for chink in file.chunks():
destination.write(chunk)
或者我可以毫无畏惧地使用ModelForm的save方法? 如果我不能 - 这个功能在哪里更好?在视图或表格中?它看起来如何 - 使用句柄功能保存头像?在开始时,我使用句柄功能处理上传的文件,然后如何将上传的文件添加到图像字段?
答案 0 :(得分:0)
只要表单使用method="post"
并且您在表单上设置enctype="multipart/form-data"
,ModelForm就会为您处理。您可能还想在模型字段上设置null=True
,否则当您不提供图像时,实例将无法保存。