๋ธ๋ฃจํ๋ฆฐํธ๋
ํ๋ผ์คํฌ์ ๋ธ๋ฃจ ํ๋ฆฐํธ๋ฅผ ์ด์ฉํ๋ฉด ๋ผ์ฐํธ ํจ์๋ฅผ ๊ตฌ์กฐ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ค.
๋ง์ฝ ๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด, ์๋ก์ด url์ด ์๊ธธ ๋๋ง๋ค ๋์ผํ ํจ์๋ด์ ๊ณ์ ์ถ๊ฐํด์ผํ๋ค.
์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ธ๋ฃจํ๋ฆฐํธ๋ ๋ง์น ํด๋ ๋ณ๋ก ํ์ผ์ ์ ๋ฆฌํ๋ฏ ๋ผ์ฐํธ ํจ์๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค.
๋ธ๋ฃจ ํ๋ฆฐํธ๋ฅผ ์ฌ์ฉํ๊ธฐ ์
from flask import Flask
def create_app():
app = Flask(__name__)
@app.route('/')
def hello_pybo():
return 'Hello, Pybo!'
return
์๋ก์ด url์ด ์๊ธธ ๋๋ง๋ค create_app ํจ์ ๋ด์ ์ถ๊ฐํด์ฃผ์ด์ผํ๋ค.
ํ์ฌ๋ hello_pybo ํจ์๋ฅผ app.route ์ด๋ ธํ ์ด์ ์ ์ด์ฉํ์ฌ ๋งคํํ์๋ค.
๋ธ๋ฃจ ํ๋ฆฐํธ ์ ์ฉ
main_view.py
from flask import Blueprint
bp = Blueprint('main', __name__, url_prefix='/')
@bp.route('/hello')
def hello_pybo():
return 'Hello, Pybo!'
@bp.route('/')
def index():
return 'Pybo index'
๊ฐ์ ๋ถ๋ฅ์ ํจ์๊ฐ ๋ค์ด์๋ ํ์ผ์ ๋ฐ๋ก ๋ง๋ ๋ค์ ๋ธ๋ฃจ ํ๋ฆฐํธ ๊ฐ์ฒด๋ฅผ ์์ฑํ์๋ค.
๋ธ๋ฃจ ํ๋ฆฐํธ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ์ด๋ฆ , ๋ชจ๋๋ช , url ํ๋ฆฌํฝ์ค ๊ฐ์ ์ ๋ฌํด์ผํ๋ค.
__init__.py
from flask import Flask
def create_app():
app = Flask(__name__)
from .views import main_views
app.register_blueprint(main_views.bp)
return app
app.register_blueprint() ๋ฅผ ํตํด bp ๊ฐ์ฒด๋ฅผ ๋ฑ๋กํด์ฃผ์๋ค.
์ด๋ ๊ฒ ํจ์ผ๋ก์จ ๋ผ์ฐํธ ํจ์๋ค์ ํ ๊ณณ์ ๋ชฐ์๋ฃ๋ ๊ฒ ์๋ ๋๋ ํฐ๋ฆฌ ๋ณ๋ก ๊ด๋ฆฌํ ์ ์๊ฒ๋๋ค.
์์ผ๋ก ํจ์๊ฐ ๋์ด๋ ์๋ก ๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ์ด์ฉํ๋ฉด ๋ผ์ฐํธ ๊ด๋ฆฌ ํจ์์ ํจ์จ์ฑ์ด ๋์์ง๋ค.
'ํ๋ผ์คํฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[flask] yolov5 ์ flask rest api ์๋ฒ ์ฐ๋ํ๊ธฐ (0) | 2023.02.22 |
---|---|
[flask] The script flask is installed in 'PATH' which is not on PATH. ๊ฒฝ๊ณ ๊ฐ ๋ฐ ๋ (0) | 2023.02.22 |