如何在django中更新用户数据
我是Django的新手,我想在注册表中添加更多字段,如(名字、姓氏和性别)。所以我添加了这些字段,但当我创建更新表单时,字段中只显示用户名和电子邮件。 这里是所有代码 *******views.py******如何在django中更新用户数据,django,django-forms,Django,Django Forms,我是Django的新手,我想在注册表中添加更多字段,如(名字、姓氏和性别)。所以我添加了这些字段,但当我创建更新表单时,字段中只显示用户名和电子邮件。 这里是所有代码 *******views.py****** from django.shortcuts import render,redirect from django.contrib.auth.forms import UserCreationForm from . forms import RegisterForm
from django.shortcuts import render,redirect
from django.contrib.auth.forms import UserCreationForm
from . forms import RegisterForm , UserUpdateForm
from django.contrib.auth.decorators import login_required
def register(request):
if request.method == 'POST':
form = RegisterForm(request.POST)
if form.is_valid():
form.save()
return redirect('home-page')
else:
form = RegisterForm()
return render(request,'Users/register.html',{'form':form})
@login_required
def Profile(request):
if request.method == 'POST':
u_form=UserUpdateForm(request.POST,instance=request.user)
if u_form.is_valid:
u_form.save()
return redirect('Profile-page')
else:
u_form=UserUpdateForm(instance=request.user)
context={'u_form':u_form}
return render(request,'Users/profile.html',context)
from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
class RegisterForm(UserCreationForm):
"""docstring for ClassName"""
email = forms.EmailField()
firstName = forms.CharField(max_length=30)
LastName = forms.CharField(max_length=30)
CHOICES=[('Male','Male'),
('Female','Female')]
gender = forms.ChoiceField(choices=CHOICES, widget=forms.RadioSelect)
class Meta:
model = User
fields = ['username','firstName','LastName','gender','email','password1','password2']
class UserUpdateForm(forms.ModelForm):
"""docstring for UserUpdateForm"""
email = forms.EmailField()
firstName = forms.CharField(max_length=30)
LastName = forms.CharField(max_length=30)
class Meta:
model = User
fields =['username','firstName','LastName','email']
型号.py
from django.db import models
from django.contrib.auth.models import User
class Profile(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE)
def __str__(self):
return f'{self.user.username} Profile'
信号.py*
*****forms.py******
from django.shortcuts import render,redirect
from django.contrib.auth.forms import UserCreationForm
from . forms import RegisterForm , UserUpdateForm
from django.contrib.auth.decorators import login_required
def register(request):
if request.method == 'POST':
form = RegisterForm(request.POST)
if form.is_valid():
form.save()
return redirect('home-page')
else:
form = RegisterForm()
return render(request,'Users/register.html',{'form':form})
@login_required
def Profile(request):
if request.method == 'POST':
u_form=UserUpdateForm(request.POST,instance=request.user)
if u_form.is_valid:
u_form.save()
return redirect('Profile-page')
else:
u_form=UserUpdateForm(instance=request.user)
context={'u_form':u_form}
return render(request,'Users/profile.html',context)
from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
class RegisterForm(UserCreationForm):
"""docstring for ClassName"""
email = forms.EmailField()
firstName = forms.CharField(max_length=30)
LastName = forms.CharField(max_length=30)
CHOICES=[('Male','Male'),
('Female','Female')]
gender = forms.ChoiceField(choices=CHOICES, widget=forms.RadioSelect)
class Meta:
model = User
fields = ['username','firstName','LastName','gender','email','password1','password2']
class UserUpdateForm(forms.ModelForm):
"""docstring for UserUpdateForm"""
email = forms.EmailField()
firstName = forms.CharField(max_length=30)
LastName = forms.CharField(max_length=30)
class Meta:
model = User
fields =['username','firstName','LastName','email']
我试图在shell中获取名字和列表名,因此出现此错误