Djangocrispyforms如何保存Imag

2024-06-09 16:26:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用django crispy表单保存图像。每次尝试保存时都没有。为了保存图像,crispy_表单有什么特别的注意事项吗?在

这是我的表单.py:

class Edit_Profile(forms.ModelForm):

    class Meta:
        model = MyUser  
        fields = ('display_name', 'real_name', 'email', 'location', 'picture',)

    helper = FormHelper()
    helper.form_method = 'POST'
    helper.form_class = 'form-horizontal'
    helper.label_class = 'col-lg-2'
    helper.field_class = 'col-lg-8'
    helper.layout = Layout(
        Fieldset(
            '', 'display_name', 'real_name', 'email', 'location', 'picture',
        ),
        Div(
            Submit('submit', 'Submit', css_class='btn-primary'),
            css_class='col-lg-offset-2',
        )
    )

    def update_info(self, user, myuser):
        """ get the user, and update info """
        cd = self.cleaned_data
        print(cd)
        myuser = MyUser.objects.get(user=user)
        try:
            myuser.display_name = cd['display_name']
            myuser.real_name = cd['real_name']
            myuser.location = cd['location']
            myuser.picture = cd['picture']
            myuser.save()
            user.email = cd['email']
            user.save()
        except:
            raise forms.ValidationError("Unable to update profile")

我的视图.py:

^{pr2}$

Tags: nameformhelper表单emaildisplaycdcol
1条回答
网友
1楼 · 发布于 2024-06-09 16:26:37

在Django中上载的文件位于request.FILES中,因此:

if request.method == 'POST':
    form = Edit_Profile(request.POST, request.FILES)

请注意,<form>需要enctype="multipart/form-data",否则{}将是一个空对象。在

相关问题 更多 >