изображение не сохраняется при обновлении профиля пользователя в django - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь обновить модель профиля пользователя, которую я использовал для сохранения дополнительной информации по встроенной модели пользователя, теперь, когда я пытаюсь обновить ее, изображение не сохраняется. Мне нужна помощь в решении этой проблемы.

# In views.py 
@login_required(login_url=LOGIN_REDIRECT_URL)
def update_user_profile(request):
    userobj = get_object_or_404(UserProfile, user=request.user)
    form = UserProfileForm(data = request.POST or None,files= request.FILES or None, instance=userobj)
    if request.method=='POST':
        print(form.is_valid())
        if form.is_valid():
            profile = form.save(commit=False)
            profile.picture = form.cleaned_data['picture']
            profile.about = form.cleaned_data['about']
            profile.save()
        else:
            print("NO picure")
        return HttpResponseRedirect("/blog/profile/")

    return render(request, "blog/post_update.html", {'form':form})

#models.py
class UserProfile(models.Model):
    user    = models.OneToOneField(User, on_delete=models.CASCADE)
    about = models.CharField(max_length=200, null=True, blank=True)
    picture = models.ImageField(upload_to="profile_images/", blank=True)

    def __str__(self):
        return str(self.user)


#In forms.py
class UserProfileForm(forms.ModelForm):


    def __init__(self, *args, **kwargs):
        super(UserProfileForm, self).__init__(*args, **kwargs)
        self.fields['about'].widget.attrs.update({'class': 'form-control '})
        self.fields['picture'].widget.attrs.update({'class': 'form-control-file'})
    class Meta:
        model = UserProfile
        fields = ('about', 'picture')

# userprofileform.html
{% extends 'base.html' %}


{% block content %}
<form method="POST" enctype="multipart/form-data">
    {% csrf_token %}
    {{ form.as_p }}
    <input type="submit" class="btn btn-primary" value="Create Profile">
</form>

{% endblock %}


, пожалуйста, посмотрите код и помогите. при регистрации, если изображение было загружено, оно сохраняется, но когда я пытаюсь обновить профиль пользователя непосредственно в разделе профиля, изображение не изменяется и отображается так же, как сохраненное при регистрации пользователя, иначе отображается «Нет».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...