【问题标题】:Flask Admin Ckeditor Image UploadFlask Admin Ckeditor 图片上传
【发布时间】:2018-05-27 19:18:35
【问题描述】:

对于 Flask 管理员如何使用编辑器在文本区域上传图像?

我需要比这更简单的版本:

https://github.com/greyli/flask-ckeditor

【问题讨论】:

    标签: python flask ckeditor ckeditor4.x flask-admin


    【解决方案1】:
    from flask_ckeditor import *
    csrf = CSRFProtect(app)
    csrf.init_app(app)
    
    ckeditor = CKEditor(app)
    
    app.config['CKEDITOR_SERVE_LOCAL'] = False
    app.config['CKEDITOR_HEIGHT'] = 400
    app.config['CKEDITOR_FILE_UPLOADER'] = 'upload'
    app.config['UPLOADED_PATH'] = os.path.join(basedir, 'uploads')
    
    @app.route('/files/<filename>')
    @csrf.exempt
    def uploaded_files(filename):
        path = app.config['UPLOADED_PATH']
        return send_from_directory(path, filename)
    
    import uuid
    
    @app.route('/upload', methods=['POST'])
    @csrf.exempt
    def upload():
        f = request.files.get('upload')
        extension = f.filename.split('.')[1].lower()
        if extension not in ['jpg', 'gif', 'png', 'jpeg']:
            return upload_fail(message='Image only!')
        unique_filename = str(uuid.uuid4())
        f.filename = unique_filename + '.' + extension
        f.save(os.path.join(app.config['UPLOADED_PATH'], f.filename))
        url = url_for('uploaded_files', filename=f.filename)
        return upload_success(url=url)
    

    在烧瓶管理员的edit.html中

    <script>
        CKEDITOR.plugins.addExternal( 'filebrowser', '/static/ckeditor/filebrowser/', 'plugin.js' );
        CKEDITOR.config.extraPlugins = 'filebrowser';
        CKEDITOR.config.filebrowserBrowseUrl  = '/upload';
    <script>
    

    这适用于烧瓶管理员上传图片

    https://github.com/greyli/flask-ckeditor我用过这个

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-30
      • 2019-07-16
      • 2020-06-07
      • 2013-06-05
      • 2011-01-08
      • 1970-01-01
      • 2020-11-27
      相关资源
      最近更新 更多