基于flask缩略图,使用flask框架在amazon s3(或本地存储)上创建图像缩略图的扩展。

flask-thumbnails-s3的Python项目详细描述


基于flask缩略图,使用flask框架在amazon s3(或本地存储)上创建图像缩略图的扩展。

安装

使用pip

安装

运行pip install flask-thumbnails-s3

Thumbnail添加到扩展文件:

fromflask_thumbnails_s3importThumbnailapp=Flask(__name__)thumb=Thumbnail(app)

在您的设置中添加MEDIA_FOLDERMEDIA_URL,以及各种与s3相关的值:

app.config['MEDIA_FOLDER']='/home/www/media'app.config['MEDIA_URL']='/media/'app.config['THUMBNAIL_S3_STORAGE_TYPE']='s3'app.config['THUMBNAIL_S3_BUCKET_NAME']='bucket-foo'app.config['THUMBNAIL_S3_ACCESS_KEY_ID']='key-here'app.config['THUMBNAIL_S3_ACCESS_KEY_SECRET']='secret-here'app.config['THUMBNAIL_S3_USE_HTTPS']=Trueapp.config['THUMBNAIL_S3_STATIC_ROOT_PARENT']='/path/to/project/root/'

示例用法

在Jinja2模板中使用:

<img src="{{ 'image.jpg'|thumbnail('200x200', storage_type='s3', bucket_name='bucket-foo') }}" alt="" />
<img src="{{ 'image.jpg'|thumbnail('200x200', crop='fit', quality=100) }}" alt="" />

要获得一个完整的、可工作的flask应用程序,它演示了flask-thumbnails-s3的实际操作,请查看flask-s3-save-example

选项

crop='fit'返回图像的大小和裁剪版本,裁剪为请求的纵横比和大小,read more

quality=XX更改输出jpeg缩略图的质量,默认值为85

开发和生产

产量

在生产中,需要在Web服务器中添加媒体目录。

发展

要服务上载的文件,需要一个helper函数,其中/media/您的设置app.config['MEDIA_URL']

fromflaskimportsend_from_directory@app.route('/media/<regex("([\w\d_/-]+)?.(?:jpe?g|gif|png)"):filename>')defmedia_file(filename):returnsend_from_directory(app.config['MEDIA_THUMBNAIL_FOLDER'],filename)

选项设置

如果要将缩略图存储在MEDIA_FOLDER以外的文件夹中,则需要手动设置它:

app.config['MEDIA_THUMBNAIL_FOLDER']='/home/www/media/cache'app.config['MEDIA_THUMBNAIL_URL']='/media/cache/'

致谢

这里的大部分代码都基于dmitriy sokolov的flask缩略图:

https://github.com/silentsokolov/flask-thumbnails

感谢多面体缩略图的作者和贡献者,这个代码库的基础,以及允许这样的叉车的慷慨许可条款。

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

推荐PyPI第三方库


热门话题
java Jetty是否有请求缓存?   数组中的java 2值与我的数据帧中的2列对应   对象序列化期间的java DbUtils类型转换问题   java根面板中不显示所有单独的面板   java通过代理或SSH隧道连接Hbase API   java困惑:与经典MVC控制器相比,JSF2中bean的角色   java在我的Triangle类中“找不到符号错误”   java在Android中设置从路径到自定义按钮的图像   java不绕轨道旋转椭圆   AES在socket上搞砸了序列化/反序列化。无效的流标头。JAVA   java在数组中搜索term和if语句   线程“main”java中出现异常。util。正则表达式。PatternSyntaxException:在索引0附近悬挂元字符“*”*   Websphere上的java Google反射无法打开url连接   java为什么inc/dec频道什么都不做?   java KeyListener无法访问keyPressed方法