当添加新标签时可以成功,但添加成功后再次点击添加则报错
而且此时点击tag_list页,该页也未更新。
只有重启服务器tag_list页才显示新加的标签,此时再次添加已有标签则可正常flash出添加失败的消息。
点击tag_list页的删除时报错(即使重启服务器也报错):
如下是view.py中有关标签的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | # 添加标签 @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 )) |