使用flask-admin将文件附加到模型

时间:2013-05-04 09:29:09

标签: python file-upload flask

我正在使用Flask-Admin为网站提供管理界面。如何处理文件上传到sqlalchemy模型,例如

class Product(db.Model):
    __tablename__ = 'products'
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(5000))
    text_short = db.Column(db.String(3000))
    text = db.Column(db.String(50000))
    price = db.Column(db.Integer)
    image = db.Column(db.String(1000))

,其中image是一个字段,我想存储/static目录中图像的路径?

1 个答案:

答案 0 :(得分:6)

覆盖on_model_change并在那里执行上传逻辑:http://flask-admin.readthedocs.org/en/latest/api/mod_model/#flask.ext.admin.model.BaseModelView.on_model_change

所以,这是高级步骤:

  1. 将FileField提供给表单,或将图像字段的类型更改为FileField
  2. on_model_change将上传的文件复制到静态文件夹并使用新文件路径更新模型image字段
  3. 希望它有所帮助。