現在登録に使用しているのは以下のものです:
def register(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
new_user = form.save()
messages.info(request, "Thanks for registering. Please login to continue.")
return HttpResponseRedirect("/dashboard/")
else:
form = UserCreationForm()
return render_to_response("accounts/register.html", {
'form': form,
}, context_instance=RequestContext(request))
アカウント作成後にユーザーに手動でログインさせるのではなく、自動的にログインさせることは可能ですか? ありがとうございます。
編集: login() 関数を試しましたが、成功しませんでした。問題は AUTHENTICATION_BACKENDS が設定されていないことにあると思います。
ベストアンサー1
使用方法authenticate()
そしてlogin()
機能:
from django.contrib.auth import authenticate, login
def register(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
new_user = form.save()
messages.info(request, "Thanks for registering. You are now logged in.")
new_user = authenticate(username=form.cleaned_data['username'],
password=form.cleaned_data['password1'],
)
login(request, new_user)
return HttpResponseRedirect("/dashboard/")