티스토리 뷰

vscode 터미널에서 설치

pip3 install flask
pip3 install Flask-SQLAlchemy
pip3 install flask-login

📁 __init__.py 파일 만들기

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from os import path
from flask_login import LoginManager


def create_app():
    app = Flask(__name__)
    app.config['SECRET_KEY'] = "helloworld"
    
    @app.route("/")
    def home():
        return "hello"
    
    return app

website 폴더 안에 파일을 만들고 위의 코드를 입력한다. (home 함수는 2주차 복습용)

 

📁 app.py 파일 만들기

from website import create_app

if __name__ == "__main__":
    app = create_app
    app.run(debug=True)

website 폴더 안에 있는 create_app을  가져오겠다는 의미이다. (실행할 때 위치를 주의하기!!!)


Blueprint

__init__ 파일에 @app.route 를 써서 페이지를 만들 수 있지만 함수가 많아지면 복잡해지므로 이를 해결하기 위해 blueprint를 사용한다.

  • auth.py에서는 로그인, 로그아웃 등의 로그인 관련 기능을 추가한다.
  • views.py에서는 홈페이지, 자기소개 페이지, 포스트 생성, 삭제, 조회, 리스트 페이지 기능을 추가한다.

📁 auth.py 파일 만들기

from flask import Blueprint

auth = Blueprint("auth", __name__)


@auth.route("/login")
def login():
    return "Login"


@auth.route("/sign-up")
def sign_up():
    return "Sign Up"


@auth.route("/logout")
def logout():
    return "Logout"

📁 views.py 파일 만들기

from flask import Blueprint

views = Blueprint("views", __name__)

# 둘 다 적용한다는 의미
@views.route("/") 
@views.route("/home")
def home():
    return "Home"

📄 __init.py__ 의 creat_app( ) 안에 추가

from .views import views
from .auth import auth

app.register_blueprint(views, url_prefix="/blog")
app.register_blueprint(auth, url_prefix="/blog")

여기서 url_prefix는 주소를 분류해주는 역할을 한다.

 

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday