def users(): form1 = AddUserForm(prefix="form1") form2 = EditUserForm(prefix="form2") # 添加用户 if request.method == 'POST' and request.path == '/users': # 验证 if not form1.validate_on_submit(): flash({'error': form1.errors}) return redirect(request.url) username = form1.username.data # 账号名 select = form1.select.data # 所选权限 user = User(name=username, authority=select) # 设置密码 user.password = form1.password2.data # 尝试添加到数据库 try: db.session.add(user) db.session.commit() # ‘success’、‘info’、‘warning’、‘error’ flash({'success': u'添加成功!'}) record_operation_log(operation=u'添加用户:' + str(user.id), module=u'用户', result=u'成功', user_id=current_user.id) except Exception as e: flash({'error': u'添加用户失败'}) db.session.rollback() record_operation_log(operation=u'添加用户:' + username, module=u'用户', result=u'失败', user_id=current_user.id) # 修改用户 if request.method == 'POST' and request.path == '/users/edit': # 验证 if not form2.validate_on_submit(): flash({'error': form2.errors}) return redirect('/users') user_id = form2.user_id.data # u_id user = User.query.filter_by(id=user_id).first() try: user.name = form2.username.data # 账号名 user.authority = form2.select.data # 所选权限 db.session.flush() flash({'success': u'修改成功!'}) record_operation_log(operation=u'修改用户:' + str(user_id), module=u'用户', result=u'成功', user_id=current_user.id) except Exception as e: db.session.rollback() flash({'error': u'操作数据库失败,请检查用户名!'}) record_operation_log(operation=u'修改用户:' + str(user_id), module=u'用户', result=u'失败', user_id=current_user.id) # 删除用户 if request.method == 'DELETE': id_list = request.get_json().get('data') print(id_list) if len(id_list) == 0: print('-------------------') return jsonify({'warning': u'未选择!'}) try: for id_ in id_list: db.session.delete(User.query.filter_by(id=id_).first()) db.session.commit() record_operation_log(operation=u'删除用户:' + id_, module=u'用户', result=u'成功', user_id=current_user.id) return jsonify({'success': u'删除成功!'}) except Exception as e: db.session.rollback() record_operation_log(operation=u'删除用户:' + str(id_list), module=u'用户', result=u'失败', user_id=current_user.id) return jsonify({'error': u'删除失败!'}) return render_template('users/users.html', form1=form1, form2=form2)