pallets-eco / flask-admin

Simple and extensible administrative interface framework for Flask
https://flask-admin.readthedocs.io
BSD 3-Clause "New" or "Revised" License
5.75k stars 1.57k forks source link

How to keep the uploaded files can't delete? #1666

Open gotounix opened 6 years ago

ljluestc commented 1 month ago

from flask import Flask
from flask_admin import Admin
from flask_mongoengine import MongoEngine

app = Flask(__name__)
app.config['MONGODB_SETTINGS'] = {
    'db': 'your_db_name',
    'host': 'localhost',
    'port': 27017
}
db = MongoEngine(app)
admin = Admin(app, name='MyAdmin')

class AreaItem(db.EmbeddedDocument):
    name = db.StringField(max_length=200, verbose_name='名称')
    area = db.ReferenceField('Category', verbose_name='产地')

class Note(db.Document):
    likes = db.ListField(db.StringField())
    areas = db.ListField(db.EmbeddedDocumentField(AreaItem), verbose_name='分类产地')
    your_file_field_name = db.FileField()

class CustomModelView(ModelView):
    form_base_class = CustomBaseForm

    # Specify which fields should use the NoDeleteFileUploadField
    form_overrides = {
        'your_file_field_name': NoDeleteFileUploadField
    }

admin.add_view(CustomModelView(Note))

if __name__ == '__main__':
    app.run(debug=True)