标签添加及删除问题

来源:7-4 .标签管理3

慕无忌1371140

2017-08-10

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

http://szimg.mukewang.com/598bc99b00014e0f08810114.jpg

而且此时点击tag_list页,该页也未更新。

只有重启服务器tag_list页才显示新加的标签,此时再次添加已有标签则可正常flash出添加失败的消息。

点击tag_list页的删除时报错(即使重启服务器也报错):

http://szimg.mukewang.com/598bca3700012f3308210082.jpg

如下是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))


写回答

2回答

rustgopy

2017-08-10

同学,你好,tag标签是不是重复添加了,name字段设置了唯一性!

# 标签
class Tag(db.Model):
    __tablename__ = "tag"
    id = db.Column(db.Integer, primary_key=True)  # 编号
    name = db.Column(db.String(100), unique=True)  # 标题
    addtime = db.Column(db.DateTime, index=True, default=datetime.now)  # 添加时间
    movies = db.relationship("Movie", backref='tag')  # 电影外键关系关联

    def __repr__(self):
        return "<Tag %r>" % self.name


0
15
rustgopy
回复
慕无忌1371140
好的,加油亲,有问题与老师反馈!
2017-08-11
共15条回复

慕无忌1371140

提问者

2017-08-10

admin_page.html

//szimg.mukewang.com/598bd9b9000118b219181047.jpg

forms.py

//szimg.mukewang.com/598bd9ba0001c3fb19181975.jpg

tag_add.html

//szimg.mukewang.com/598bd9ba0001918b19181722.jpg

tag_list.html

//szimg.mukewang.com/598bd9bc00014ca919182044.jpg

views.py

//szimg.mukewang.com/598bd9bd0001e23d19182254.jpg


0
0

Python Flask 构建微电影视频网站

Python 最好用轻量级框架,让你轻松胜任 Python Web 工程师

683 学习 · 663 问题

查看课程