当添加新标签时可以成功,但添加成功后再次点击添加则报错

而且此时点击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))