在应用程序中创建成员记录后,管理面板中仅反映用户名,但我也想获取姓名和姓氏。我在代码中指定了这一点,但没有反映。
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字段,但是在面板中并没有体现
答案 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)