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.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0e377324bb47799e1d1f1ab1ff1a0aca4f47cb49951ce75705cb1335fb3d9e0 |
|
MD5 | 40938a59af7a6e639ee867fa5f02b4ba |
|
BLAKE2b-256 | cec8b3a04eed0e314bd0b1abfa37e08a2b11a71bd48df7829ceeb929a4572566 |