Skip to main content

A simple extension to create a thumbs for the Flask

Project description

https://github.com/silentsokolov/flask-thumbnails/workflows/build/badge.svg?branch=master https://codecov.io/gh/silentsokolov/flask-thumbnails/branch/master/graph/badge.svg

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flask-thumbnails-1.1.1.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

flask_thumbnails-1.1.1-py2.py3-none-any.whl (6.8 kB view details)

Uploaded Python 2 Python 3

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

Hashes for flask-thumbnails-1.1.1.tar.gz
Algorithm Hash digest
SHA256 4b2f710f36137d86e0b6e5c64a9ba45b39212ef6b9525e3f2fca75e26d96f0b4
MD5 1d280f2bb286e4a73701f68c35735142
BLAKE2b-256 ae8f6ee01c5b991eafa9e94bd399dd21e07d1c646cb5726b5589b61e2545abc9

See more details on using hashes here.

File details

Details for the file flask_thumbnails-1.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for flask_thumbnails-1.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f3891426f40adce0ba02210c28d8cb4b40a4627902622ad3f5043e24fa6e0800
MD5 47dc72391089f0dc4f05628bc3144c9f
BLAKE2b-256 344c607cdb83395297d9a1f040c40ab10db296e82b63da3698a256d8a75aeb26

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page