본문 바로가기
개발&코딩/Flask

플라스크 블루 프린트로 url 한 번에 관리

by 우동이 2021. 1. 21.
300x250

todays message : 이 간단한걸 왜 며칠을 못했는지는 모르겠지만 간신히 해결했다...


블루 프린트란

흔히 알고있는 '청사진'의 의미 이지만

플라스크 에서는 url과 함수의 관계를 확인가능한 클래스로 사용

 


플라스크 파일 구조

웹 사이트를 구현하기 위해 FLASK - PYBO 파일 내에 main이 될 __init__.py 파일

뷰를 담당할 views 폴더 내의 main_views파일에서 blueprint를 담당하게 될 거다.


 

__init__.py

 

파이참으로 하면 코드가 더 간결하겠으나

여긴 군대고 구름IDE를 사용했기 때문에 createapp()을 사용하지 못했다.

 

아무튼 __init__.py 는 app.py 혹은 main.py 역할을 담당할 주축 실행 파일로 정해 사용한다.

 

다음은 BluePrint에 등록시킬 main_views.py파일을 만든다.

blueprint로 관리하는 url은 여기서 관리한다고 보면 된다.


views/main_views.py

bp가 blueprint로 등록된 객체이다.

bp로 래핑을 한 url들을 실행해보면


 

siteurl/


siteurl/df

이렇게 url이 등록되었음을 알 수 있다.

 


Code 모음

__init__.py

from flask import Flask
from views import main_views

app = Flask(__name__)
app.register_blueprint(main_views.bp)

if __name__ == "__main__":
    app.run(host='172.17.0.8', port=8000, debug=True)

    

main_views.py

from flask import Blueprint, render_template

bp = Blueprint("main", __name__, url_prefix='/')

@bp.route('/')
def question():
    return 'hi hello'

@bp.route('/df')
def answer():
    return 'He iekrkk'

 

300x250

댓글