def post(self):
     data = json.loads(request.data)
     new_user = User()
     new_user.username = data['username']
     new_user.user_email = data['user_email']
     new_user.location = data.get('location')
     _id = new_user.save()
     return str(_id.id), 201
예제 #2
0
def register():
    # 首先创建一个空白的注册表单
    form = RegisterForm(request.form)
    # 当客户端浏览器请求此URL时的方法是GET,这时候将包含表单的html文件返回
    if request.method == 'GET':
        return render_template('web/register.html', form=form)
    else:
        # 当用户填写好表单,点击"注册"按钮后,此时的方法是POST,这时应该获取表单内容
        new_user = User()
        new_user.username = form.username.data
        new_user.password = form.password.data
        # 然后判断信息合法性并提交数据库
        if User.query.filter_by(username=new_user.username).first():
            flash('用户名已存在,请更换')  # 通过flask自带的flash给出一个警告,在html中编写相应的script实现
            return redirect(url_for('web.register'))
        else:
            with db.auto_commit():
                db.session.add(new_user)
            return redirect(url_for('web.login'))