플라스크 앱을 여러 개의 py 파일로 나누는 방법은 무엇입니까?
내 플라스크 응용 프로그램은 현재 test.py
여러 경로와 main()
경로가 정의 된 단일 파일 로 구성되어 있습니다 . test2.py
처리되지 않은 경로를 포함 하는 파일을 만들 수있는 방법 이 test.py
있습니까?
@app.route('/somepath')
def somehandler():
# Handler code here
경로가 너무 많아서 test.py
실행할 수 있도록 만들고 싶습니다 . 동일한 경로의 파일 인 것처럼 python test.py
경로를 선택 test.py
합니다. 이 작업을 수행 하기 위해 변경 test.py
하거나 포함 해야 할 사항은 무엇입니까 test2.py
?
일반적인 Python 패키지 구조를 사용하여 앱을 여러 모듈로 나눌 수 있습니다 . Flask 문서를 참조하십시오.
하나,
Flask는 응용 프로그램 구성 요소를 만들고 응용 프로그램 내에서 또는 응용 프로그램간에 공통 패턴을 지원하기 위해 청사진 개념을 사용합니다.
앱의 하위 구성 요소를 별도의 파일에 블루 프린트로 만들 수 있습니다.
simple_page = Blueprint('simple_page', __name__, template_folder='templates')
@simple_page.route('/<page>')
def show(page):
# stuff
그런 다음 주요 부분에서 사용하십시오.
from yourapplication.simple_page import simple_page
app = Flask(__name__)
app.register_blueprint(simple_page)
블루 프린트는 템플릿이나 정적 파일과 같은 특정 리소스를 묶을 수도 있습니다. 자세한 내용은 플라스크 문서 를 참조 하십시오.
GitHub에서 플라스크가 비어있는 것을 추천하고 싶습니다 .
블루 프린트 , 다중 뷰 및 확장 을 이해하는 쉬운 방법을 제공합니다 .
앱을 청사진으로 나누는 것이 좋습니다. 그러나 이것으로 충분하지 않고 블루 프린트 자체를 여러 개의 py 파일로 나누려면 일반 파이썬 모듈 가져 오기 시스템을 사용하고 다른 파일에서 가져온 모든 경로를 반복하는 것도 가능합니다 .
이 작업을 수행하는 코드로 요점을 만들었습니다.
https://gist.github.com/Jaza/61f879f577bc9d06029e
내가 아는 한, 이것은 현재 블루 프린트를 분할 할 수있는 유일한 방법입니다. Flask에서 "하위 블루 프린트"를 생성 할 수는 없지만 이에 대한 많은 논의가 있지만 문제가 있습니다.
https://github.com/mitsuhiko/flask/issues/593
또한 가능하더라도 (그리고 해당 이슈 스레드의 일부 스 니펫을 사용하여 가능할 수도 있음) 하위 블루 프린트는 어쨌든 유스 케이스에 너무 제한적일 수 있습니다 (예 : 하위 모듈이 동일한 URL 하위 접두사를 갖도록합니다.
장고처럼 나눌 수 있습니다. 아래 해골 참조
https://github.com/rohitchormale/cookiecutter-flask
참고 URL : https://stackoverflow.com/questions/11994325/how-to-divide-flask-app-into-multiple-py-files
'Programing' 카테고리의 다른 글
console.writeline 및 System.out.println (0) | 2020.07.24 |
---|---|
JS에서 isNaN (null) == false 인 이유는 무엇입니까? (0) | 2020.07.24 |
Spring 데이터 JPA에서 save와 saveAndFlush의 차이점 (0) | 2020.07.24 |
Python : help () 출력에서 슬래시는 무엇을 의미합니까? (0) | 2020.07.24 |
서로 다른 두 데이터베이스의 테이블을 조인 하시겠습니까? (0) | 2020.07.24 |