Расширение колбы, которое применяет общие конфигурации ко всем приложениям WebTeam Flask.
from canonicalwebteam . flask_base . app import FlaskBase
app = FlaskBase ( __name__ , "app.name" )Или:
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" ,
)Для местной разработки лучше всего проверить этот модуль с одним из наших веб -проектов, таких как Ubuntu.com. Для получения дополнительной информации следуйте этому руководству (только внутреннее).
Flaskbase включает в себя Proxyfix, чтобы избежать SSL -зачистки на перенаправлениях.
Flaskbase использует yaml-reponses permanent-redirects.yaml чтобы обеспечить легкую конфигурацию перенаправлений и возврата удаленных ответов, создавая redirects.yaml deleted.yaml
FlaskBase может при желании использовать шаблоны для генерации ответов на ошибки 404 и 500 :
app = FlaskBase (
__name__ ,
"app.name" ,
template_404 = "404.html" ,
template_500 = "500.html" ,
) Это приведет к, например http://localhost/non-existent-path возвращая статус 404 с содержанием templates/404.html .
FlaskBase может при желании предоставить перенаправления для общепринятых путей /favicon.ico , /robots.txt и /humans.txt в разумные места:
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"
) Это приведет к EG http://localhost/favicon.ico возвращая 302 перенаправление на http://localhost/static/favicon.ico .
Автоматически очищает все сцепления с всех маршрутов.
Вы получаете двух помощников Jinja2 в ваших шаблонах из Flask-Base:
now это функция, которая выводит текущую дату в пропущенном формате - {{ now('%Y') }} -> YYYYversioned_static -это функция, которая напечатает пальцами передача Asset - {{ versioned_static('asset.js') }} -> static/asset?v=asset-hashВы автоматически устанавливаете следующие заголовки:
X-Content-Type-Options: NOSNIFFPermissions-Policy: interest-cohort=()X-Frame-Options: SAMEORIGIN , который можно исключить с помощью exclude_xframe_options_header decoratorCache-Control если response.cache_control.* Не установлен и в соответствии со статическим активом (см. Версии versioned_static выше)security.txt , robots.txt и humans.txt Если вы создадите security.txt , robots.txt или humans.txt в корне вашего проекта, они будут обслуживаться по адресу /.well-known/security.txt , /robots.txt и /humans.txt соответственно.
/_status/check конечную точку Автоматически добавляет конечную точку /_status/check , которая используется контент-кашами для проверки бэкэнд здоровья или, например, K8s для проверки состояния стручков.
Чтобы запустить тесты выполнить SECRET_KEY=fake python3 -m unittest discover tests .