Я пытаюсь создать проект, в котором мне нужны пользовательские профили. Я продлил пользователя django по умолчанию. Я могу успешно создавать пользователей, но не могу добавить данные в модель профиля,
например:
Я создал пользователя 'Demouser', пользователь успешно создан, и я также могу войти в систему с созданным пользователем. Но следующий шаг - обновить данные о 'Demouser' в модели профилей, для этого я создал представление и форму регистра. но, похоже, не работает.
Файл Forms.py:
class ProfileForm(forms.ModelForm):
class Meta:
model = profiles
exclude=(
'id','Username','User',
)
Models.py:
class profiles(models.Model):
class Meta:
verbose_name_plural='Profile\'s'
Username=models.OneToOneField(
User,
on_delete=models.CASCADE,
unique=True,
related_name='profile',
)
first_name=models.CharField(
max_length=25,
)
last_name=models.CharField(
max_length=25,
)
email_id=models.EmailField()
previous_projects=models.TextField(
null=True,
blank=True,
)
Views.py:
class ProfileEditView(views.View):
def get(self,request,*args,**kwargs):
if request.user.is_authenticated:
return render(request,'editprofile.html',context={'form':ProfileForm})
else:
messages.success(request,('You must Login into system for access'))
return redirect('profiles:Login')
def post(self,request,*args,**kwargs):
user=User.objects.get(username=request.user.username)
print(user)
form=ProfileForm(request.POST,instance =user)
if form.is_valid():
form.save()
messages.success(request,('Profile Edited succesfully'))
return render(
request,
'editprofile.html',
context={
'form':ProfileForm
}
)
Когда я обновляю данные с помощью ProfileEditView, предположим, что я обновляю имя вошедшего в систему пользователя. Данные обновляются в модели пользователя django по умолчанию, я хочу, чтобы они обновлялись в моей модели профилей ...
спасибо заранее