Flask extension that applies common configurationsto all of webteam's flask apps.
Project description
Canonical Webteam Flask-Base
Flask extension that applies common configurations to all of webteam's flask apps.
Usage
from canonicalwebteam.flask_base.app import FlaskBase
app = FlaskBase(__name__, "app.name")
Or:
from canonicalwebteam.flask_base.app import FlaskBase
app = FlaskBase(
__name__,
"app.name",
template_404="404.html",
template_500="500.html",
favicon_url="/static/favicon.ico",
)
Features
Redirects and deleted paths
FlaskBase uses yaml-responses to allow easy configuration of redirects and return of deleted responses, by creating redirects.yaml
, permanent-redirects.yaml
and deleted.yaml
in the site root directory.
Error templates
FlaskBase
can optionally use templates to generate the 404
and 500
error responses:
app = FlaskBase(
__name__,
"app.name",
template_404="404.html",
template_500="500.html",
)
This will lead to e.g. http://localhost/non-existent-path
returning a 404
status with the contents of templates/404.html
.
Redirect /favicon.ico
FlaskBase
can optionally provide redirects for the commonly queried paths /favicon.ico
, /robots.txt
and /humans.txt
to sensible locations:
from canonicalwebteam.flask_base.app import FlaskBase
app = FlaskBase(
__name__,
"app.name",
template_404="404.html",
template_500="500.html",
favicon_url="/static/favicon.ico",
robots_url="/static/robots.txt",
humans_url="/static/humans.txt"
)
This will lead to e.g. http://localhost/favicon.ico
returning a 302
redirect to http://localhost/static/favicon.ico
.
Jinja2 helpers
You get two jinja2 helpers to use in your templates from flask-base:
now
is a function that outputs the current date in the passed format -{{ now('%Y') }}
->YYYY
versioned_static
is a function that fingerprints the passed asset -{{ versioned_static('asset.js') }}
->static/asset?v=asset-hash
robots.txt
and humans.txt
If you create a robots.txt
or humans.txt
in the root of your project, these will be served at /robots.txt
and /humans.txt
respectively.
Tests
To run the tests execute SECRET_KEY=fake python3 -m unittest discover tests
.
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 canonicalwebteam.flask-base-0.9.2.tar.gz
.
File metadata
- Download URL: canonicalwebteam.flask-base-0.9.2.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79ab3a902c678f0a5cdcfaafc29b1866b0ceb504729112b39b9b7d6e68853b8d |
|
MD5 | 20b8c1ca586c05e7401dbd6e47301201 |
|
BLAKE2b-256 | 7fef5b1bf1a7afd6875e7c0a91b34a24e352aa5c0be95df234b2a09c63b36313 |
File details
Details for the file canonicalwebteam.flask_base-0.9.2-py3-none-any.whl
.
File metadata
- Download URL: canonicalwebteam.flask_base-0.9.2-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | edfcc5204285030f4d78af7feacd2d0ea305c6d372fdcd322c3af06b45288b76 |
|
MD5 | b292816b043aa0afb713b189bc71b72f |
|
BLAKE2b-256 | 460ec86605b1c1c9f4e2c5bfe31da871ffda4860a6419efcd5ed615004164fd8 |