ValueError:在用户上设置`backend`属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ValueError:在用户上设置`backend`属性相关的知识,希望对你有一定的参考价值。
我在我的社交登录项目中添加了python-social-auth。我还为新用户提供了自己的注册表单。对于社交登录,我添加了一些身份验证后端。
现在,社交登录工作正常,但注册表单会导致一些问题。
输入详细信息并单击注册后,会出现此错误。
我在管理面板中看到,即使出现此错误,也会添加用户。
ValueError: You have multiple authentication backends configured and therefore must provide the `backend` argument or set the `backend` attribute on the user.
现在,它要求我设置用户的后端属性。怎么设置?
这是注册的视图,
def signup(request):
if request.method == 'POST':
form = SignupForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
raw_pass = form.cleaned_data.get('password')
user = authenticate(username=username,password=raw_pass)
login(request,user)
return redirect('location:get_location')
else:
form = SignupForm()
return render(request, 'signup.html', {'form':form})
答案
为我工作:
if request.method == 'POST':
form = UserCreateForm(request.POST)
if form.is_valid():
user = form.save()
login(request, user, backend='django.contrib.auth.backends.ModelBackend')
return redirect('/')
else:
pass
以上是关于ValueError:在用户上设置`backend`属性的主要内容,如果未能解决你的问题,请参考以下文章
配置了多个身份验证后端,因此必须提供`backend`参数或在用户上设置`backend`属性
吴裕雄--天生自然TensorFlow高层封装:解决ValueError: Invalid backend. Missing required entry : placeholder
ValueError:在 TFIDF 上训练 KD TRee 时使用序列设置数组元素
/accounts/register 处的 ValueError 必须设置给定的用户名