Flask扩展,用于将常用配置应用到webteam的所有Flask应用程序中。
项目描述
Canonical Webteam Flask-Base
Flask扩展,用于将常用配置应用到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,来测试此模块。有关更多信息,请参阅此指南(仅限内部使用)。
功能
ProxyFix
FlaskBase 包含 ProxyFix 以避免在重定向过程中发生 SSL 剥脱。
重定向和已删除的路径
FlaskBase 使用 yaml-responses 允许通过在网站根目录中创建 redirects.yaml
、permanent-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
返回一个包含 templates/404.html
内容的 404
状态。
重定向 /favicon.ico
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"
)
这将导致例如 http://localhost/favicon.ico
返回一个重定向到 http://localhost/static/favicon.ico
的 302
状态。
清除尾部斜杠
自动清除所有路由中的尾部斜杠。
Jinja2 辅助函数
您可以从 flask-base 中使用以下两个 jinja2 辅助函数在模板中
now
是一个函数,它输出当前日期,格式由传递的 格式 确定 -{{ now('%Y') }}
->YYYY
versioned_static
是一个函数,用于指纹传递的资产 -{{ versioned_static('asset.js') }}
->static/asset?v=asset-hash
HTTP 头部
您将自动设置以下头部
X-Content-Type-Options: NOSNIFF
Permissions-Policy: interest-cohort=()
X-Frame-Options: SAMEORIGIN
,可以使用exclude_xframe_options_header
装饰器排除Cache-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 用于检查 pod 的状态。
测试
要运行测试,请执行 SECRET_KEY=fake python3 -m unittest discover tests
。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分布
构建版本
哈希值 for canonicalwebteam.flask_base-2.0.0-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4045706bd1f50afca2c4817b0f03dc3d6788f55e5ef4ecd552062703e5be7366 |
|
MD5 | fdcf560e35aadb7398b7c42a860e0070 |
|
BLAKE2b-256 | dfd1edc45a5f6935d66d973fa87ebc46204c3abb08b760e07e4ce0e2cb7a8d75 |