django - 31/5000 如何插入新用户?
问题描述
我正在尝试创建一个新的个性化用户,当我点击注册按钮时它没有为我注册任何东西,下面我显示我的代码来帮助我提前解决这个问题非常感谢
这是forms.py
class FormularioUsuario(forms.ModelForm):
password1=forms.CharField(label='Contraseña', widget=forms.PasswordInput(
attrs={
'class': 'form-control',
'placeholder':'Ingrese su Contraseña...',
'id': 'password1',
'required':'required',
}
))
password2=forms.CharField(label='Contraseña de Confirmacion', widget=forms.PasswordInput(
attrs={
'class': 'form-control',
'placeholder':'Ingrese nuevamente su Contraseña...',
'id': 'password2',
'required':'required',
}
))
class Meta:
model=Usuario
fields=('email', 'username', 'nombres', 'apellidos')
widgets ={
'email': forms.EmailInput(
attrs={
'class': 'form-control',
'placeholder': 'Correo Electronico',
}
),
'nombres': forms.TextInput(
attrs={
'class': 'form-control',
'placeholder': 'Ingrese su nombre',
}
),
'apellidos': forms.TextInput(
attrs={
'class': 'form-control',
'placeholder': 'Ingrese su Apellido',
}
),
'username': forms.TextInput(
attrs={
'class': 'form-control',
'placeholder': 'Ingrese su Nombre de Usuario',
}
)
}
def clean_password2(self):
print(self.cleaned_data)
password1=self.cleaned_data.get('password1')
password2=self.cleaned_data.get('password2')
if password1 != password2:
raise forms.ValidationError('Contraseñas no coinciden')
return password2
def save(self, commit=True):
user=super().save(commit=False)
user.set_password(self.cleaned_data['password1'])
if commit:
user.save()
return user
这是views.py
class RegistrarUsuario(CreateView):
model=Usuario
form_class=FormularioUsuario
template_name='usuario/crear_usuario.html'
success_url = reverse_lazy('usuario:listar_usuarios')
这是models.py
class Usuario(AbstractBaseUser):
username = models.CharField('Nombre de usuario',unique = True, max_length=100)
email = models.EmailField('Correo Electrónico', max_length=254,unique = True)
nombres = models.CharField('Nombres', max_length=200, blank = True, null = True)
apellidos = models.CharField('Apellidos', max_length=200,blank = True, null = True)
imagen = models.ImageField('Imagen de Perfil', upload_to='perfil/', max_length=200,blank = True,null = True)
usuario_activo = models.BooleanField(default = True)
usuario_administrador = models.BooleanField(default = False)
objects = UsuarioManager()
USERNAME_FIELD = 'username'
REQUIRED_FIELDS = ['email','nombres']
def __str__(self):
return f'{self.nombres},{self.apellidos}'
def has_perm(self, perm,obj=None):
return True
def has_module_perms(self, app_label):
return True
@property
def is_staff(self):
return self.usuario_administrador
这是 urls.py
app_name='usuario'
urlpatterns=[
#URL para el menu de inicio
path('', index),
path('usuario/index/',login_required(index), name='index'),
path('accounts/login/',Login.as_view(), name='login'),
path('logout/',login_required(logoutUsuario), name='logout'),
path('listado_usuarios/', login_required(ListadoUsuario.as_view()), name='listar_usuarios'),
path('registrar_usuario/', RegistrarUsuario.as_view(), name='registrar_usuario'),
]
如果你需要别的东西可以告诉我吗
解决方案
推荐阅读
- dotnetnuke - 无法访问公共 IP 上的 DNN 服务
- jenkins - 詹金斯文件中的 NotSerializableException
- git - Unity 协作与 GitHub
- python - Django 翻译:找不到 msguniq
- java - 如何为具有多种数据类型的属性映射@JsonProperty
- php - 制作一个 php 博客网站
- php - 重新启动apache / nginx服务器时如何注销/销毁/取消cakephp 3 php所有用户会话
- django - 如何克隆完整的继承树模型
- c# - C#中没有属性的序列化/反序列化
- node.js - 无效使用类型“未定义”作为 Firestore 参数