Field types for allowing file and image uploads to Amazon S3 (as well as default local storage) in Flask-Admin.
Project description
Field types for allowing file and image uploads to Amazon S3 (as well as default local storage) in Flask-Admin.
Example
For a complete, working Flask app that demonstrates flask-admin-s3-upload in action, have a look at flask-s3-save-example.
Usage
Use with a Flask-Admin ModelView by overriding field types, and by passing in special arguments to those fields:
from flask.ext.admin.contrib.sqla import ModelView class MyView(ModelView): form_overrides = dict( some_image=S3ImageUploadField, some_file=S3FileUploadField) form_args = dict( some_image=dict( base_path='/some/folder/static', relative_path='some_image/', url_relative_path='uploads/', namegen=your_namegen_func_here, storage_type_field='some_image_storage_type', bucket_name_field='some_image_storage_bucket_name', ), some_file=dict( base_path='/some/folder/static', relative_path='some_file/', namegen=your_namegen_func_here, allowed_extensions=('pdf', 'txt'), storage_type_field='some_file_storage_type', bucket_name_field='some_file_storage_bucket_name', )) def scaffold_form(self): # Note: assuming that we have Flask-S3 config values to pass # to fields below. Flask-S3 is not required, you can pass # values from elsewhere if you want. from flask import current_app as app form_class = super(MyView, self).scaffold_form() static_root_parent = '/some/folder' if app.config['USE_S3']: form_class.some_image.kwargs['storage_type'] = 's3' form_class.some_file.kwargs['storage_type'] = 's3' form_class.some_image.kwargs['bucket_name'] = app.config['S3_BUCKET_NAME'] form_class.some_image.kwargs['access_key_id'] = app.config['AWS_ACCESS_KEY_ID'] form_class.some_image.kwargs['access_key_secret'] = app.config['AWS_SECRET_ACCESS_KEY'] form_class.some_image.kwargs['static_root_parent'] = static_root_parent form_class.some_file.kwargs['bucket_name'] = app.config['S3_BUCKET_NAME'] form_class.some_file.kwargs['access_key_id'] = app.config['AWS_ACCESS_KEY_ID'] form_class.some_file.kwargs['access_key_secret'] = app.config['AWS_SECRET_ACCESS_KEY'] form_class.some_file.kwargs['static_root_parent'] = static_root_parent return form_class
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Built Distribution
Close
Hashes for flask_admin_s3_upload-0.1.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a781999af6feef5fd960459f0193cfeddc50d1850d5ba5630550fd3755c2bee4 |
|
MD5 | 0214f2056d45aaf1f39f1537f8981e28 |
|
BLAKE2-256 | 93d220c3b052f19c4a398f33e9a00aa61181d1848b2bf3010e99ffe3f161aadb |