Flask extension to handle favicons.
Project description
Flask-favicon
Flask-favicon is a Flask extension which generates multiple favicon variants for different platforms. The goal is to cover as many devices as possible from a single image file. Flask-favicon serves all the assets for you and provides an easy to use Jinga template which you can include in your html <head>
.
Full Documentation: https://maxdup.github.io/flask-favicon/
Installation
Flask-favicon is available on the Python Package Index. This makes installing it with pip as easy as:
pip install flask-favicon
Initializing
The extension needs to be loaded alongside your Flask application. All favicons need to be declared during app creation with register_favicon()
. You may register any amount of favicons. You should have at least one favicon named as 'default'
Here's a minimal example of how this is done:
from flask import Flask, Blueprint
from flask_favicon import FlaskFavicon
flaskFavicon = FlaskFavicon()
app = Flask('my-app')
bp = Blueprint('my-blueprint', __name__)
app.register_blueprint(bp)
flaskFavicon.init_app(app)
flaskFavicon.register_favicon('source/favicon.png', 'default') # filename, favicon identifier
flaskFavicon.register_favicon('source/favicon-alt.png', 'default-alt')
flaskFavicon.register_favicon('source/promo.png', 'promo')
app.run()
Usage
Initiallizing FlaskFavicon
provides you with a Jinga template to be inserted in your <head>
.
<!-- _head.html -->
<head>
...
{% include "flask-favicon.html" %}
...
</head>
By default, the flask-favicon.html
template will be populated with the favicon registered as 'default'
.
To use the alternative favicons as declared earlier, you can use Flask-favicon's use_favicon
decorator alongside route declarations.
from flask import Blueprint, render_template
from flask_favicon import use_favicon
bp_site = Blueprint('site', __name__)
@bp_site.route("/")
# will use 'default' favicon
def index():
return render_template('index.html')
@bp_site.route("/promo")
@use_favicon('promo')
def promo():
return render_template('promo-page.html')
@bp_site.route("/special-event")
@use_favicon('default-alt')
def special_event():
return render_template('special-page.html')
NOTE:
@use_favicon()
comes after the@bp.route()
decorator.
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
Built Distribution
Hashes for flask_favicon-0.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9feb82917299f46aef840a9bb1ce7acb904786c65d2b3bff68e012c8e9442504 |
|
MD5 | 9e5797223c9054d3c734837581c71c8e |
|
BLAKE2b-256 | ab85c9670642c562a125ae4b91b0640fa25911ca04daf68039d1f06a54973577 |