flask blueprint 예제

augusztus 2, 2019 5:06 de. Közzétette cccccccccccccc

미겔, 그냥 함께 넣어 주셔서 감사 하고 싶었어요. 난 그냥 내 지원을 보여주기 위해 전자 책을 구입,하지만 난 당신이 (나는 원래 플라스크를 배울 v1을 사용 했던) 튜토리얼을 재 작업 기쁘다. 나는 확실히 v2를 통해 새로 고침하고 잘하면 재사용 가능한 청사진과 함께 멀리 올 것입니다! 환호, JD 이것은 매우 친숙 해 보일 것 이다, 그것은 거의 동일 views.py 조리법 청사진. 이번에는 `users_Blueprint`가 블루프린트의 인스턴스이며 이 블루프린트의 경로를 정의하는 데 사용됩니다. Blueprint 작성은 응용 프로그램 작성과 상당히 유사합니다. 이 작업은 Blueprint 패키지의 ___init___py 모듈에서 수행됩니다. 이는 이 경우 URL이 /static이고 응용 프로그램의 /정적 경로가 우선하기 때문입니다. 템플릿 폴더와 달리 파일이 응용 프로그램 정적 폴더에 없는 경우 Blueprint 정적 폴더가 검색되지 않습니다. 이 파일은 Flask 의 인스턴스를 만들고 구성을 로드하며 단일 뷰 파일을 가리키는 간단한 파일입니다. 문제를 명확하게 확인하는 한 가지 방법은 이 프로젝트에서 가능한 한 많이 재사용하여 두 번째 프로젝트를 시작하는 방법을 고려하는 것입니다. 예를 들어 사용자 인증 부분은 다른 응용 프로그램에서 잘 작동해야 하지만 해당 코드를 있는 것처럼 사용하려면 여러 모듈로 이동하여 관련 섹션을 새 프로젝트의 새 파일에 복사/붙여넣기해야 합니다. 그것이 얼마나 불편한지 보시나요? 이 프로젝트에 모든 인증 관련 파일이 응용 프로그램의 나머지 부분과 분리되어 있다면 더 좋을까요? Flask의 Blueprint 기능은 코드를 더 쉽게 재사용할 수 있는 보다 실용적인 조직을 달성하는 데 도움이 됩니다.

다음은 제시된 예제와 함께 `url_prefix`를 사용하는 방법의 예입니다. Blueprint 개체를 만들려면 Blueprint() 클래스를 가져오고 인수 이름 및 import_name으로 초기화합니다. 일반적으로 import_name은 __name__,이 될 것입니다. 안녕하세요, 미겔. 한 가지 더 질문 : send_email이있는 트릭을 설명했습니다. 코더가 기본 청사진을 만들지 않으려므로 routes.py 파일이 앱 폴더에 남아 있다고 가정해 보겠습니다. 어떤 경로 데코레이터를 사용해야 합니까? “@app.route(…)”가 아니라 “@current_app.route(…)”가 아니라 “@current_app.get_current_object().route(…)”가 아닙니다. 그렇다면 어떻게 해야 있을까요? 이제 우리의 응용 프로그램은 하나의 대규모 views.py 파일보다 훨씬 더 모듈화되어 있습니다. 경로 정의는 함께 청사진으로 그룹화하고 각 Blueprint에 대해 하위 도메인 및 URL 접두사와 같은 항목을 구성할 수 있으므로 더 간단합니다.

다른 해결책은 Flask에서 가져올 수 있는 current_app을 사용하는 것입니다. 앱에 대한 참조를 사용했을 모든 장소에서 이 것을 사용할 수 있습니다. 이 글을 쓰는 시점에서 http://flask.pocoo.org Flask 웹 사이트는이 구조를 사용합니다. GitHub에서 직접 살펴보세요. .env 파일은 모든 구성 시간 변수에 사용할 수 있지만 응용 프로그램 인스턴스 및 응용 프로그램 인스턴스 및 해당 변수 이전에 응용 프로그램 부트스트랩 프로세스초기에 매우 일찍 필요하기 때문에 Flask의 FLASK_APP 및 FLASK_DEBUG 환경 변수에 사용할 수 없습니다. 구성 개체가 있습니다. 이제 청사진을 정의했습니다. 그것은 우리의 Flask 응용 프로그램에 등록하는 시간이다. Blueprint는 static_folder 인수와 함께 파일 시스템의 폴더에 대한 경로를 제공하여 정적 파일이 있는 폴더를 노출할 수 있습니다. 그것은 절대 경로 또는 청사진의 위치에 대 한 상대: 대부분의 Flask 확장 확장 확장의 인스턴스를 만들고 인수로 응용 프로그램을 전달 하 여 초기화 되는 것을 보았다.

Kategória: Egyéb

Írta: Gabor

Hozzászólás zárolva.