개발&코딩/Flask
플라스크 블루 프린트로 url 한 번에 관리
우동이
2021. 1. 21. 20:44
todays message : 이 간단한걸 왜 며칠을 못했는지는 모르겠지만 간신히 해결했다...
블루 프린트란
흔히 알고있는 '청사진'의 의미 이지만
플라스크 에서는 url과 함수의 관계를 확인가능한 클래스로 사용
웹 사이트를 구현하기 위해 FLASK - PYBO 파일 내에 main이 될 __init__.py 파일
뷰를 담당할 views 폴더 내의 main_views파일에서 blueprint를 담당하게 될 거다.
파이참으로 하면 코드가 더 간결하겠으나
여긴 군대고 구름IDE를 사용했기 때문에 createapp()을 사용하지 못했다.
아무튼 __init__.py 는 app.py 혹은 main.py 역할을 담당할 주축 실행 파일로 정해 사용한다.
다음은 BluePrint에 등록시킬 main_views.py파일을 만든다.
blueprint로 관리하는 url은 여기서 관리한다고 보면 된다.
bp가 blueprint로 등록된 객체이다.
bp로 래핑을 한 url들을 실행해보면
이렇게 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'