Alguien ha podido solucionar el error que hay con el método save()? cuando lo incorporo no me funciona pero cuando usamos la lógica anterior sí. La verdad por más vueltas que le doy no hallo el por qué del error
-
check_circle_outlineMódulo 1 | 10 clases
Introducción
expand_more -
check_circle_outlineMódulo 2 | 14 clases
Formularios
expand_more-
done_all
Clase 1
Formulario Login
-
done_all
Clase 2
Autenticación
-
done_all
Clase 3
Redirect
-
done_all
Clase 4
Mensajes
-
done_all
Clase 5
Condicionar clases
-
done_all
Clase 6
Logout
-
done_all
Clase 7
Formularios Django
-
done_all
Clase 8
Estilos para formularios
-
done_all
Clase 9
Iteración de campos
-
done_all
Clase 10
Leer datos del formulario
-
done_all
Clase 11
Crear usuarios
-
done_all
Clase 12
Validar campos
-
done_all
Clase 13
Validar campos pt2
-
done_all
Clase 14
Método save
-
-
check_circle_outlineMódulo 3 | 6 clases
Templates
expand_more -
check_circle_outlineMódulo 4 | 19 clases
Productos
expand_more -
check_circle_outlineMódulo 5 | 3 clases
Usuarios
expand_more -
check_circle_outlineMódulo 6 | 20 clases
Carrito de compras
expand_more -
check_circle_outlineMódulo 7 | 10 clases
Orden de compra
expand_more -
check_circle_outlineMódulo 8 | 11 clases
Dirección de envío
expand_more -
check_circle_outlineMódulo 9 | 5 clases
Orden y dirección de envío
expand_more -
check_circle_outlineMódulo 10 | 11 clases
Pedidos
expand_more -
check_circle_outlineMódulo 11 | 8 clases
Código de promoción
expand_more -
check_circle_outlineMódulo 12 | 9 clases
Métodos de pago
expand_more -
check_circle_outlineMódulo 13 | 3 clases
Cobro
expand_more -
check_circle_outlineMódulo 14 | 3 clases
Extras
expand_more
7 comentario(s)
Al hacer el registro de un usuario nuevo esta apareciendo este error
ValueError at /usuarios/registro
The given username must be set
Request Method: POST
Request URL: http://127.0.0.1:8000/usuarios/registro
Django Version: 4.1.2
Exception Type: ValueError
Exception Value:
The given username must be set
Exception Location: C:\Users\desarrollador\Envs\entornoPrueba\lib\site-packages\django\contrib\auth\models.py, line 144, in _create_user
Raised during: AsoftyStore.views.register
Python Executable: C:\Users\desarrollador\Envs\entornoPrueba\Scripts\python.exe
Python Version: 3.10.7
Python Path:
[‘D:\proyectoFacilito\AsoftyStore’,
‘C:\Users\desarrollador\AppData\Local\Programs\Python\Python310\python310.zip’,
‘C:\Users\desarrollador\AppData\Local\Programs\Python\Python310\DLLs’,
‘C:\Users\desarrollador\AppData\Local\Programs\Python\Python310\lib’,
‘C:\Users\desarrollador\AppData\Local\Programs\Python\Python310’,
‘C:\Users\desarrollador\Envs\entornoPrueba’,
‘C:\Users\desarrollador\Envs\entornoPrueba\lib\site-packages’]
Server time: Thu, 06 Oct 2022 13:40:15 +0000
Ya he revisado el video y el codigo varias veces pero no veo nada raro, alguna ayuda por fa
A mi me funciono de esta manera
def register(request) :
form = RegisterForm(request.POST or None)
if request.method =='POST' and form.is_valid():
username=request.POST.get('username')
email=request.POST.get('email')
password=request.POST.get('password')
user = User.objects.create_user(username,email,password)
#user = form.save()
if user :
login(request, user)
messages.success(request, 'Usuario creado existosamente')
return redirect('index')
return render(request, 'users/register.html', {
'form': form
})
usando form.cleaned_data.get('username') me da error
User.objects.filter(username=username).exists()
Creeo que seria mejor capturar la exepcion de la base de datos al hacer
User.objects.create_user( self.cleaned_data.get('username'), self.cleaned_data.get('email'), self.cleaned_data.get('password'))
Dado que no estamos libres de que esta execpcion ocurra porque existe una race codition entre dos usuarios que intentan crear el mismo un usuario con mismo username..
Tu que opinas Eduardo?
You have multiple authentication backends configured and therefore must provide thebackend
argument or set thebackend
attribute on the user.
Hola Eduardo ahora creo que arregle el problema del registro, pero al momento de hacer el registro de usuarios no me redirige hacia el index. A pesar que en el código hago el redirect(index). Gracias por tu ayuda