Programing

플라스크 앱을 여러 개의 py 파일로 나누는 방법은 무엇입니까?

crosscheck 2020. 7. 24. 07:36
반응형

플라스크 앱을 여러 개의 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

반응형