Django 在管理面板中查看所有用户信息

时间:2021-05-06 13:47:16

标签: python django django-admin blogs user-profile

在应用程序中创建成员记录后,管理面板中仅反映用户名,但我也想获取姓名和姓氏。我在代码中指定了这一点,但没有反映。

views.py

from django.shortcuts import render,redirect
from .forms import RegisterForm
from django.contrib.auth.models import User
from django.contrib.auth import login
from django.contrib import messages

def register(request):
   
    form=RegisterForm(request.POST or None)
    if form.is_valid():
        name=form.cleaned_data.get("name")
        lastname=form.cleaned_data.get("lastname")
        username=form.cleaned_data.get("username")
        password=form.cleaned_data.get("password")

       #newUser=User(name=name)
        newUser = User(username=username)  
        newUser.set_password(password)

        newUser.save()
        
        login(request,newUser)
        messages.info(request,"Başarıyla Kayıt Oldunuz...")
        return redirect("index")

    context={
            "form":form

        }
    return render(request,"register.html",context)

表单.py

from django import forms
from django.contrib.auth.forms import UserCreationForm

class RegisterForm(forms.Form):
name=forms.CharField(max_length=50,label="Adı ")
lastname=forms.CharField(max_length=50,label="Soyadı ")
username=forms.CharField(max_length=50,label="Kullanıcı Adı ")
password=forms.CharField(max_length=20,label="Parola",widget=forms.PasswordInput)
confirm=forms.CharField(max_length=20,label="Parolayı Doğrula ",widget=forms.PasswordInput)

def clean(self):
    name=self.cleaned_data.get("name")
    lastname=self.cleaned_data.get("lastname")
    username=self.cleaned_data.get("username")
    password=self.cleaned_data.get("password")
    confirm=self.cleaned_data.get("confirm")

    if password and confirm and password != confirm:
        raise forms.ValidationError("Parolalar Eşleşmiyor...")

    values = {
        "name" : name,
        "lastname" :lastname,
        "username" : username,
        "password" :  password,
        
    }

    return values 

虽然我指定了name和name字段,但是在面板中并没有体现

2 个答案:

答案 0 :(得分:0)

在 form.py 中导入用户

from django.contrib.auth.models import User

通过下面的类注册表

class Meta:
         model= User
         fields=['']```

答案 1 :(得分:0)

newUser = User(username=username, firstname=name, lastname=lastname)  
相关问题