Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在django中更新用户数据_Django_Django Forms - Fatal编程技术网

如何在django中更新用户数据

如何在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

我是Django的新手,我想在注册表中添加更多字段,如(名字、姓氏和性别)。所以我添加了这些字段,但当我创建更新表单时,字段中只显示用户名和电子邮件。 这里是所有代码 *******views.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']
型号.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中获取名字和列表名,因此出现此错误