모든 WebTeam의 플라스크 앱에 공통 구성을 적용하는 플라스크 확장.
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에는 리디렉션에서 SSL 스트리핑을 피하기위한 proxyfix가 포함되어 있습니다.
Flaskbase는 Yaml-REPONSES를 사용하여 리디렉션을 쉽게 구성하고 삭제 된 응답의 반환을 허용합니다. 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 상태를 반환합니다.
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 리디렉션을 반환합니다.
모든 경로에서 모든 후행 슬래시를 자동으로 지우십시오.
Flask-Base의 템플릿에서 2 개의 Jinja2 도우미를 사용할 수 있습니다.
now 전달 된 형식의 현재 날짜를 출력하는 함수 - {{ now('%Y') }} -> YYYYversioned_static 전달 된 자산을 지문으로 인쇄하는 기능입니다 - {{ 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 데코레이터로 제외 할 수있는 SameoriginCache-Control IF 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 Endpoint를 자동으로 추가합니다.
테스트를 실행하려면 SECRET_KEY=fake python3 -m unittest discover tests 실행합니다.