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

use*_*831 2 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))
Run Code Online (Sandbox Code Playgroud)

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

Joe*_*oes 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使用新文件路径更新模型字段

希望能帮助到你.