用于允许将文件和图像上载到flask admin中的amazon s3(以及默认本地存储)的字段类型。

flask-admin-s3-upload的Python项目详细描述


用于允许将文件和图像上载到flask admin中的amazon s3(以及默认本地存储)的字段类型。

示例

对于一个完整的、工作的flask应用程序,它演示了flask-admin-s3-upload的实际操作,请查看flask-s3-save-example

用法

通过重写字段类型并向这些字段传递特殊参数,与Flask管理模型视图一起使用:

fromflask.ext.admin.contrib.sqlaimportModelViewclassMyView(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',))defscaffold_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.fromflaskimportcurrent_appasappform_class=super(MyView,self).scaffold_form()static_root_parent='/some/folder'ifapp.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_parentform_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_parentreturnform_class

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaMaven没有识别junit测试   正则表达式替换Java中字符串中的所有“(“and”)”   文件移动到另一台计算机时出现java错误“实例化servlet类”   服务器上的java服务   Spring数据JPA上的java嵌套@Transactional注释行为   eclipse中的Java Tomcat项目   java在Tomcat上部署web应用程序   如何解决“java.lang.IllegalStateException:ArrayAdapter要求资源ID为TextView”错误?   java在条形码上方添加文本,并使用烧烤更改字体大小   java与php基准测试   java使用正则表达式提取特定模式   java扫描器。findInLine()大量泄漏内存   java HTTP:差异请求属性和POST参数   返回空指针的Java方法?   java验证密码不包含名称中的3个以上连续字符   Java中带泛型的静态多态性   java在Android中获得最后一个已知位置   java为什么Groovy的Map比Array更具可伸缩性?   编码如何在Java中生成八进制字符串?   java Hibernate:使用单例会话写入日志(无刷新)