복붙노트

[PYTHON] Flask 앱의 공통 폴더 / 파일 구조

PYTHON

Flask 앱의 공통 폴더 / 파일 구조

방금 플라스크 응용 프로그램을 만들었으며 지금까지 "Hello world!"라우터를 가지고 있습니다. 주형.

좀 더 많은 기능을 추가하고 싶습니다. 그러나 앱 디렉토리를 어떻게 구성해야하는지 궁금합니다.

Flask 앱을 ​​구성하는 가장 일반적인 방법은 무엇입니까? 예를 들어, 모든 경로에 대해 routes.py를 작성해야합니까? SQLAlchemy에 대한 정보는 어디에 있습니까? 모델이 models.py에 있어야합니까?

해결법

  1. ==============================

    1.Flask 문서의 패턴 섹션 (http://flask.pocoo.org/docs/patterns/packages/)에서 큰 응용 프로그램 페이지를 확인하십시오. 대부분의 사람들이 응용 프로그램이 모듈 대신 패키지를 호출 할 때 따르는 모델 인 것으로 보입니다.

    Flask 문서의 패턴 섹션 (http://flask.pocoo.org/docs/patterns/packages/)에서 큰 응용 프로그램 페이지를 확인하십시오. 대부분의 사람들이 응용 프로그램이 모듈 대신 패키지를 호출 할 때 따르는 모델 인 것으로 보입니다.

    views.py는 routes.py라고 부릅니다. 그 후에 models.py, forms.py 등으로 모델이 생성됩니다.

  2. ==============================

    2.FlaskApp 디렉토리의 예 :

    FlaskApp 디렉토리의 예 :

    yourapp/  
        /yourapp  
            /run.py  
            /config.py  
            /yourapp  
                /__init__.py
                /views.py  
                /models.py  
                /static/  
                    /main.css
                /templates/  
                    /base.html  
            /requirements.txt  
            /yourappenv
    

    run.py - 앱을 가져오고 개발 서버를 시작하는 실제 파이썬 코드를 포함합니다. config.py - 앱 구성을 저장합니다. __init__.py - Flask 응용 프로그램 인스턴스를 만드는 응용 프로그램을 초기화합니다. views.py - 여기에서 경로가 정의됩니다. models.py - 응용 프로그램에 대한 모델을 정의하는 곳입니다. 정적 - CSS, 자바 스크립트, 이미지 등의 정적 파일을 포함합니다. 템플릿 - 여기에 html 템플릿 (예 : index.html, layout.html)을 저장합니다. requirements.txt - 패키지 의존성을 저장하는 곳이며, pip yourappenv - 개발을위한 가상 환경

  3. ==============================

    3.플라스크는 마이크로 프레임 워크라고 생각합니다. 이제 파일과 폴더를 만드는 방법을 결정해야합니다.

    플라스크는 마이크로 프레임 워크라고 생각합니다. 이제 파일과 폴더를 만드는 방법을 결정해야합니다.

    나는이 방법을 사용한다 :

    이것은 장고 구조 근처에있다.

    네가 원하는 걸 줄 수있는 프로젝트를 볼 것을 권한다.

  4. ==============================

    4.당신이 응용 프로그램을 분할하는 경우 기능적 구조보다는 부서별로 사용하는 것이 좋습니다. 나는 당신이 한 번에이 분할 구성 요소 중 하나에 대해 작업 할 가능성이 더 높기 때문에 이것을지지합니다.

    당신이 응용 프로그램을 분할하는 경우 기능적 구조보다는 부서별로 사용하는 것이 좋습니다. 나는 당신이 한 번에이 분할 구성 요소 중 하나에 대해 작업 할 가능성이 더 높기 때문에 이것을지지합니다.

    이러한 유형의 구조는 다양한 사용자 그룹이 다른 유형의보기를 사용하는 시장 또는 SaaS 앱에서 적합합니다. API 전용 플라스크 앱 기능 분할을 사용할 수 있습니다.

    다음은 플라스크 청사진의 예입니다. 청사진은 본질적으로 관리가 용이 ​​한 부분을 위해 Flask 응용 프로그램을 분할하는 방법에 대한 문서화 된 조언입니다. 자세한 내용은 http://exploreflask.com/en/latest/blueprints.html을 참조하십시오.

    다음은 분할 분할의 예입니다. 각 기능이 어떻게 그룹화되었는지 확인하십시오.

    yourapp/
        __init__.py
        admin/
            __init__.py
            views.py
            static/
            templates/
        home/
            __init__.py
            views.py
            static/
            templates/
        control_panel/
            __init__.py
            views.py
            static/
            templates/
        models.py
    

    기능적인 예는 다음과 같습니다>

    yourapp/
        __init__.py
        static/
        templates/
            home/
            control_panel/
            admin/
        views/
            __init__.py
            home.py
            control_panel.py
            admin.py
        models.py
    
  5. ==============================

    5.쿠키 커터 템플릿에 영감을 받아 앱 개발을 시작할 수 있습니다.

    쿠키 커터 템플릿에 영감을 받아 앱 개발을 시작할 수 있습니다.

  6. ==============================

    6.플라스크 프로젝트를위한 간단한 초보자 친화적 인 구조를 찾는 사람은 누구나 도움이 될 것입니다.

    플라스크 프로젝트를위한 간단한 초보자 친화적 인 구조를 찾는 사람은 누구나 도움이 될 것입니다.

       |__movies 
         |__run.py 
         |__app     
            ├── templates
            │   └── index.html
            │   └── signup.html
            └── __init__.py
            └── routes.py
    

    여기서 '영화'는 주 응용 프로그램에 주어진 이름입니다. 여기에는 'run.py'폴더와 'app'폴더가 있습니다. 'app'폴더에는 'templates'폴더, '__init __.py'및 'routes.py'와 같은 필요한 모든 플라스크 파일이 들어 있습니다.

    내용 :

    run.py:

    from app import app
    

    __init.py__ :

    from flask import Flask
    
    app = Flask(__name__)
    
    from app import routes
    
    
    app.run(debug=True)
    

    routes.py:

    from app import app
    
    @app.route('/')
    @app.route('/index')
    def index():
        return "Hello, World!"
    
  7. from https://stackoverflow.com/questions/14415500/common-folder-file-structure-in-flask-app by cc-by-sa and MIT license