A simple extension to create a thumbs for the Flask
Project description
flask-thumbnails
A simple extension to create a thumbs for the Flask
Installation
Use your favorite Python package manager to install the app from PyPI, e.g.
Example:
pip install flask-thumbnails
Add Thumbnail to your extension file:
from flask import Flask
from flask_thumbnails import Thumbnail
app = Flask(__name__)
thumb = Thumbnail(app)
Add THUMBNAIL_MEDIA_ROOT and THUMBNAIL_MEDIA_URL in your settings:
app.config['THUMBNAIL_MEDIA_ROOT'] = '/home/www/media'
app.config['THUMBNAIL_MEDIA_URL'] = '/media/'
Example usage
Use in Jinja2 template:
<img src="{{ 'image.jpg'|thumbnail('200x200') }}" alt="" /> <img src="{{ 'image.jpg'|thumbnail('200x200', crop='fit', quality=100) }}" alt="" />
Options
crop='fit' returns a sized and cropped version of the image, cropped to the requested aspect ratio and size, read more.
quality=XX changes the quality of the output JPEG thumbnail, default 90.
Develop and Production
Production
In production, you need to add media directory in you web server.
Develop
To service the uploaded files need a helper function, where /media/ your settings app.config['THUMBNAIL_MEDIA_URL']:
from flask import send_from_directory
@app.route('/media/<regex("([\w\d_/-]+)?.(?:jpe?g|gif|png)"):filename>')
def media_file(filename):
return send_from_directory(app.config['THUMBNAIL_MEDIA_THUMBNAIL_ROOT'], filename)
Option settings
If you want to store the thumbnail in a folder other than the THUMBNAIL_MEDIA_THUMBNAIL_ROOT, you need to set it manually:
app.config['THUMBNAIL_MEDIA_THUMBNAIL_ROOT'] = '/home/www/media/cache'
app.config['THUMBNAIL_MEDIA_THUMBNAIL_URL'] = '/media/cache/'
app.config['THUMBNAIL_STORAGE_BACKEND'] = 'flask_thumbnails.storage_backends.FilesystemStorageBackend'
app.config['THUMBNAIL_DEFAULT_FORMAT'] = 'JPEG'
Migrate 0.X to 1.X
Since version 1.X all settings have a prefix THUMBNAIL_. Example: MEDIA_ROOT -> THUMBNAIL_MEDIA_ROOT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file flask-thumbnails-1.1.1.tar.gz
.
File metadata
- Download URL: flask-thumbnails-1.1.1.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b2f710f36137d86e0b6e5c64a9ba45b39212ef6b9525e3f2fca75e26d96f0b4 |
|
MD5 | 1d280f2bb286e4a73701f68c35735142 |
|
BLAKE2b-256 | ae8f6ee01c5b991eafa9e94bd399dd21e07d1c646cb5726b5589b61e2545abc9 |
File details
Details for the file flask_thumbnails-1.1.1-py2.py3-none-any.whl
.
File metadata
- Download URL: flask_thumbnails-1.1.1-py2.py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3891426f40adce0ba02210c28d8cb4b40a4627902622ad3f5043e24fa6e0800 |
|
MD5 | 47dc72391089f0dc4f05628bc3144c9f |
|
BLAKE2b-256 | 344c607cdb83395297d9a1f040c40ab10db296e82b63da3698a256d8a75aeb26 |