Я пытаюсь обновить изображение профиля пользователя - PullRequest
0 голосов
/ 26 мая 2020

Я пробовал все, но ничего не работает, мой код выглядит так:

моя форма выглядит так

from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User, auth
from .models import *
from django.db import models

class UserRegistreation(UserCreationForm):
    email =forms.EmailField(required=True)

    class Meta:
        model =User
        fields =['username','email','password1','password2']

class userlogin(forms.ModelForm):
    user =forms.CharField()
    password =forms.CharField(widget=forms.TextInput(attrs={'type':'password'}))

class updateprofile(forms.ModelForm):
     email =forms.EmailField()

     class Meta:
        model =User
        fields =['username','email']

class profilecreation(forms.ModelForm):
    class Meta:
        model = Profile
        fields =[ 'image'
        ]

и мой профиль UpdateView выглядит так:

def profil(request,*args,**kwargs):
    if request.method == 'POST':
        profile =profilecreation(request.POST,request.FILES,instance=request.user.profile)
        update =updateprofile(request.POST,instance=request.user)
        if profile.is_valid() and update.is_valid():
            update.save()
            profile.save()
            messages.success(request,"it has been updated")
            return redirect(profil)
    else:
        content={
            'update' :updateprofile(instance=request.user),
            "profile" :profilecreation(instance=request.user.profile)
        }
    return render(request,'profile.html', content)

Я пытаюсь обновить свое имя пользователя, адрес электронной почты и профиль. Изображение мое имя пользователя и адрес электронной почты обновляются, но изображение моего профиля не обновляется

пожалуйста, помогите мне

наконец-то мой models.py выглядит вот так

from django.db import models
from django.contrib.auth.models import User
# Create your models here.

class Post(models.Model):
    author =models.ForeignKey(User,on_delete=models.CASCADE)
    title =models.CharField(max_length=28)
    description =models.TextField()

    def long(self):
        self.refresh_from_db()
...