def signup(request): if request.method == 'POST': form = RegisterForm(request.POST) if form.is_valid(): form.save() username = form.cleaned_data.get('username') raw_password = form.cleaned_data.get('password1') user = authenticate(username=username, password=raw_password) login(request, user) return redirect('home') else: form = RegisterForm() return render(request, 'signup.html', {'form': form})
def index(): if g.user: return redirect(url_for('profile')) form = RegisterForm(request.form) if request.method == 'POST' and form.is_valid(): user = form.save() user.add_role('user') db.commit() # commit BEFORE doing auth.login! auth.login(user) return redirect(url_for('profile')) return render_template('index.html', **locals())