Обновление профиля Django

Привет, ребята, надеюсь, вы будете великими У меня сегодня вопрос о том, как обновить профиль в моем Django приложении.

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

Я буду признателен за ваш отзыв, спасибо

Вы можете увидеть его в https://github.com/edisonjao5/Django2App

Или вот код в приложении профилей

models.py

from django.contrib.auth.models import User
from django.db import models
from django.db.models.signals import post_save
from django.dispatch import receiver
from sorl.thumbnail import ImageField

class Profile(models.Model):
    user = models.OneToOneField(
        User,
        on_delete=models.CASCADE,
        related_name='profile'
    )
    SOCIAL = (
        ('twitter', 'Twitter'),
        ('facebook', 'Facebook'),
        ('instagram', 'Instagram'),
        ('youtube', 'Youtube'),
        ('github', 'Github'),
    )
    First_Name = models.CharField(max_length=30)
    Last_Name = models.CharField(max_length=30)
    Username = models.CharField(max_length=30)
    image = ImageField(upload_to='profiles')
    Password = models.CharField(max_length=30)
    Social = models.CharField(max_length=30, choices=SOCIAL)

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

@receiver(post_save, sender=User)
def create_user_profile(sender, instance, created, **kwargs):
    if created:
        Profile.objects.create(user=instance)

@receiver(post_save, sender=User)
def update_user_profile(sender, instance, **kwargs):
    instance.profile.save()

views.py

from django.views.generic import DetailView, View, FormView
from django.contrib.auth.mixins import LoginRequiredMixin
from .models import Profile
from .forms import UpdateProfileForm

class UpdateProfileView(LoginRequiredMixin, FormView):
    http_method_names =['get', 'post']
    template_name = 'profiles/update.html'
    form_class = UpdateProfileForm
    success_url = '/'

    def dispatch(self, request, *args, **kwargs):
        self.request = request
        return super().dispatch(request, *args, **kwargs)

    def get_context_data(self, *args, **kwargs):
        context = super().get_context_data(*args, **kwargs)
        context["user"] = self.request.user
        return context

    def form_valid(self, form):
        new_object = Profile.objects.update_or_create(
            FirstName = form.cleaned_data['First_Name'],
            LastName = form.cleaned_data['Last_Name'],
            Username = form.cleaned_data['Username'],
            Image = form.cleaned_data['image'],
            Password = form.cleaned_data['Password'],
        )
        if form.is_valid():
            new_object.save()
        return super().form_valid(form)

forms.py

from django import forms


class UpdateProfileForm(forms.Form):
    FirstName = forms.CharField(max_length=30)
    LastName = forms.CharField(max_length=30)
    Username = forms.CharField(max_length=30)
    Image = forms.ImageField()
    Password = forms.CharField(widget=forms.PasswordInput, min_length=10)

update.html

Вернуться на верх