Configuración de registro de Django sin contraseña
Estoy tratando de crear un sitio web, donde las personas solo ponen sus direcciones de correo electrónico y se conectan con cookies y todo. En una etapa posterior, les pediré que proporcionen contraseña y nombres, pero NO se utilizará ningún nombre de usuario. Estoy tratando de hacer esto con django-registraition, pero recibo errores y tengo algunos problemas.
rimero, para deshabilitar los nombres de usuario como una función de inicio de sesión, puse str (time ()) en lugar de nombre de usuario; estaba buscando algo que cambiara cada vez.
Sin embargo, cuando omito la autenticación (que actualmente no necesito) me sale un error:
'RegistrationProfile' object has no attribute 'backend'
Alternativamente, puedo dejar la autenticación, pero no sé cómo autenticarla solo con correo electrónico y sin contraseña. Además, no sé cómo hacer que la siguiente línea funcione:
auth.login(request, ProfileUser)
Si alguien puede sacarme de aquí, sería increíble. Aquí hay un código:
my clase de formulario:
class RegistrationFormCustom(forms.Form):
email = forms.EmailField()
def do_save(self):
new_u = User(username=str(time()),email= self.cleaned_data.get('email'),)
new_u.save()
new_p = Profile.objects.create_profile(new_u)
new_p.save()
return new_p
mi vista
def registerCustom(request, backend, success_url=None, form_class=None,
disallowed_url='registration_disallowed',
template_name='registration/registration_form.html',
extra_context=None,
initial={}):
form = RegistrationFormCustom(initial=initial)
if request.method == 'POST':
form = RegistrationFormCustom(initial=initial, data=request.POST)
if form.is_valid():
profile = form.do_save()
profile = auth.authenticate(username = profile.user.email, password = form.cleaned_data.get('pass1'))
print(profile)
auth.login(request, profile)
return redirect('/')
else:
pass
return render_jinja(request, 'registration/registration_form.html',
type="register",
form = form
)
y publicaré cualquier otro recorte requerido felizmente