python 把字符串作为对象的属性使用 flask


# 商品编辑录入数据库
@admin.route('/goods/edit/update/',methods=['POST'])
def goods_edit_update():
    data = request.values.to_dict()
    goods = Goods.query.get(int(data['id']))
    # data.pop('id')

    print(data)
    if not request.files.get('primary_pic_url', None):
        data.pop('primary_pic_url')
    else:
        data['primary_pic_url'] = uploads('primary_pic_url')
    # 执行数据添加
    for i,j in data.items():
        # 下面两行效果相同,直接使用goods.i = j 不会报错,但是属性更改不成功
        # setattr(goods,i,j)
        goods.__setattr__(i,j)
    db.session.add(goods)
    db.session.commit()
    return '<script>alert("商品更新成功");location.href="' + url_for('admin.goods_list') + '"</script>'

类似的,import导入模块,如果模块是字符串,需要使用到 __import__(modelName)

猜你喜欢

转载自blog.csdn.net/qq_35515661/article/details/82961428