def init(): print('正在创建 权限管理 类别.....') _role = Role() _role.insert_roles() print('成功创建权限管理! \n') print('-' * 30) print('正在创建默认分类...') category = Category() print('创建成功! 分类: default, \n') print('-' * 30) print('请先设置管理员账号') email = input('请设置邮箱, 作为登录账号(email): ') username = input('请输入用户名(username): ') password = input('请输入密码(password) " 请 注 意! 明文显示": ') user = User() role = Role.query.get(3) with db.auto_commit(): category.category_name = 'default' user.email = email user.username = username user.password = password user.role = role db.session.add(user) db.session.add(category) print('创建管理员成功') print('请前往 /admin/ 下的 "类别管理" 创建 "类别" ')
def reset_password(token, newpassword): s = Serializer(current_app.config['SECRET_KEY']) try: data = s.loads(token) except: return False user = User.query.get(data.get('reset')) if user is None: return False with db.auto_commit(): user.password = newpassword db.session.add(user) return True
def change_email(self, token): s = Serializer(current_app.config['SECRET_KEY']) try: data = s.loads(token) except: return False if data.get('change_email') != self.id: flash('验证错误, 请重试') return False new_email = data.get('new_email') if new_email is None: flash('验证错误, 请重试') return False if self.query.filter_by(email=new_email).first() is not None: flash('该邮箱已经注册') return False with db.auto_commit(): self.email = new_email db.session.add(self) return True
def index(): form = MsgForm() page = request.args.get('page', 1, type=int) if form.validate(): with db.auto_commit(): msg = Message() msg.name = form.name.data msg.body = form.body.data db.session.add(msg) print('提交成功') flash('发表成功') return redirect(url_for('msg.index')) pagination = Message.query.order_by(Message.timestamp.desc()).paginate( page, per_page=current_app.config['MESSAGES_SHOW_PER_PAGE'], error_out=False) msgs = pagination.items return render_template('message_board.html', form=form, msgs=msgs, pagination=pagination)
def add_zans(self): with db.auto_commit(): self.zans += 1 db.session.add(self)
def add_reads(self): with db.auto_commit(): self.reads += 1 db.session.add(self)
def ping(self): with db.auto_commit(): self.last_seen = datetime.utcnow() db.session.add(self)