분명히 모든 경로가 app 응용 프로그램 개체에 직접 등록되면 프로그램 구조가 매우 혼란스러울 뿐만 아니라 프로그램의 시스템 메모리 소비도 크게 증가할 수 있습니다. 구하는 방법에 관해서는 먼저 팔아서 다시 이야기하자.
그렇다면 청사진 모듈 식 hypervisor 를 사용하여 라우팅하는 방법은 무엇입니까?
앱 폴더 아래에는 메인, auth, main 라는 세 개의 폴더가 있는데, 여기에는 보기 기능이 포함되어 있습니다. Flask 프로젝트 구조를 잘 모르는 경우 flask 프로젝트 구조로 전환할 수 있습니다.
초기화. 이 세 폴더의 py 는 모두 청사진으로 정의됩니다. 주 폴더 아래에 예를 들어 보겠습니다.
응용 프로그램 객체 응용 프로그램에 청사진 객체를 등록합니다.
첫 번째 매개 변수는 blueprint 객체입니다.
다음은 선택적 매개변수입니다.
1. static _ 폴더:
Application 객체와 달리 blueprint 객체는 생성 시 기본적으로 정적 디렉토리의 경로를 등록하지 않습니다. 작성 시 static_folder 매개변수를 지정해야 합니다. 그림과 같이 매개변수를 프로젝트 구조의 정적 폴더인' 정적' 으로 설정합니다.
따라서 address /static/image/layout.css 를 사용하여 정적 디렉토리의 CSS, js 및 이미지 파일에 액세스할 수 있습니다.
2.url 접두어
기본값은'/'# # # # # # # # demo.py 를 사용하여 설명합니다 (이 데모도 가상 환경에서 실행 중이어야 함).
분명히 이 매개변수는 상대 경로를 추가할 접두사입니다.
물론 템플릿으로 렌더링할 때 직접 추가할 필요는 없습니다.
중간에 그렇게 많다. Main/views.py 의 내용을 살펴보겠습니다
이 예는 views.py 에 직접 URL 접두어를 추가하는 것입니다
이 파일에서 blueprint 객체를 조작하여 경로를 만들고 render_template () 메서드를 통해 페이지를 렌더링할 수 있습니다.
나는 일반적으로 앞의 모든 일을 먼저 하고 나서 프런트 엔드 HTML 파일에 가서 라우팅 점프를 설정하는 것에 익숙하다. 예를 들면 다음과 같습니다.
Url_for 은 endpoint 를 통해 Url 주소를 질의한 다음 view 함수를 찾습니다.
제 개인적인 이해에 따르면, 먼저 청사진의 운영 메커니즘에 대해 말씀드리겠습니다.