Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django注册后登录_Python_Django - Fatal编程技术网

Python Django注册后登录

Python Django注册后登录,python,django,Python,Django,我正在尝试在注册后自动登录用户,但似乎一切正常 不起作用: if registroForm.is_valid(): registroForm.save() user = authenticate(username=registroForm.cleaned_data['username'], password=registroForm.cleaned_data['password1']) request.session['_auth_user_id'

我正在尝试在注册后自动登录用户,但似乎一切正常

不起作用:

if registroForm.is_valid():
        registroForm.save()
        user = authenticate(username=registroForm.cleaned_data['username'], password=registroForm.cleaned_data['password1'])
        request.session['_auth_user_id'] = user.pk
        request.session['_auth_user_backend'] = user.backend
        return JsonResponse({})
if registroForm.is_valid():
        registroForm.save()
        usuario = authenticate(username=registroForm.cleaned_data['username'], password=registroForm.cleaned_data['password1'])
        login(request, usuario)
        return JsonResponse({})
不起作用:

if registroForm.is_valid():
        registroForm.save()
        user = authenticate(username=registroForm.cleaned_data['username'], password=registroForm.cleaned_data['password1'])
        request.session['_auth_user_id'] = user.pk
        request.session['_auth_user_backend'] = user.backend
        return JsonResponse({})
if registroForm.is_valid():
        registroForm.save()
        usuario = authenticate(username=registroForm.cleaned_data['username'], password=registroForm.cleaned_data['password1'])
        login(request, usuario)
        return JsonResponse({})

我使用的是Django 2.0

这是我按照以下方式进行操作:

对于我的应用程序,我必须在上下文中添加一些额外的内容,以防验证失败。你应该可以把表格交到那里

编辑:


您不想在此处使用
身份验证
。由于这是注册,您需要创建新用户( CealeTyUrServer()/Code >),然后用该用户的信息调用<代码>登录< /代码>(这是代码块中间的行,除了之外)。然后重定向到一个概要文件更新页面,在该页面上,您可以提示用户输入要与用户一起存储的其他信息

创建用户
接收用户名、电子邮件和密码。。。我需要额外的字段。无论如何,我使用
authenticate
方法获取用户,我进行登录,一切正常,但用户不登录。@Jota我更新了我的答案以包含更多信息它对我有效。要么你没有正确地复制它,要么你正在做一些给你带来好处的事情problems@Jota将你现在的内容编辑到问题中。这比盲目调试要好得多。用户被创建,登录,页面重定向到主页(就像你的代码一样),但是新用户除非手动登录,否则永远不会登录。