def register(request): if request.method == 'GET': return render(request, 'register.html') elif request.method == 'POST': username = request.POST.get('username') password = request.POST.get('pwd') cpassword = request.POST.get('cpwd') email = request.POST.get('email') if not (password == cpassword): #两次密码不正确 return render(request, 'register.html') #如果没有异常存入数据库中 try: user = User() user.username = username user.password = generate_password(cpassword) user.email = email user.save() token = generate_token() cache.set(token, user.id, 60 * 60 * 24 * 20) request.session['token'] = token return redirect('shop:index') except: return render(request, 'register.html')
def register(): if session.get('is_auth'): redirect('/') form = RegistrationForm() if request.method == 'POST': if not form.validate_on_submit(): return render_template('register.html', form=form) user = User() email = request.form.get('email') user.mail = email user.password = request.form.get('password') db.session.add(user) db.session.commit() # print(db.session.query(User).filter(User.mail == email).scalar().id) # сразу авторизуем пользователя session['is_auth'] = True session['id'] = db.session.query( User.id).filter(User.mail == email).scalar() session['username'] = email return redirect('/account/') return render_template('register.html', form=form)