当添加新标签时可以成功,但添加成功后再次点击添加则报错
而且此时点击tag_list页,该页也未更新。
只有重启服务器tag_list页才显示新加的标签,此时再次添加已有标签则可正常flash出添加失败的消息。
点击tag_list页的删除时报错(即使重启服务器也报错):
如下是view.py中有关标签的代码
# 添加标签 @admin.route('/tag/add/', methods=['GET', 'POST']) @admin_login_req def tag_add(): form = TagForm() if form.validate_on_submit(): data = form.data tag = Tag.query.filter_by(name=data['name']).count() # 检查标签是否已经存在(标签具有唯一性) if tag == 1: # 若存在,则提示并返回添加标签页 flash('名称已经存在!', 'err'), return redirect(url_for('admin.tag_add')) tag = Tag( # 若不存在,则进行入库保存 name=data['name'] ) db.session.add(tag) db.session.commit() flash('添加标签成功!', 'ok') redirect(url_for('admin.tag_add')) return render_template('admin/tag_add.html', form=form) # 标签列表:查询;分页显示 @admin.route('/tag/list/<int:page>/',methods=['GET']) @admin_login_req def tag_list(page=None): if page is None: page = 1 page_data = Tag.query.order_by( Tag.addtime.desc() ).paginate(page=page, per_page=10) return render_template('admin/tag_list.html', page_data=page_data) # 标签删除 @admin.route('/tag/del/<int:id>/',methods=['GET']) @admin_login_req def tag_del(id=None): tag = Tag.query.filter_by(id=id).first_or_404() db.session.delete(tag) db.session.commit() flash('添加标签成功','ok') return redirect(url_for('admin.tag_list', page=1))