Programming/파이썬(python) - 라이브러리

파이썬(python)/ 플라스크(flask) 설치 및 기본 문법

esoog Polaris 2023. 9. 13. 23:40
반응형

# 설치

pip install Flask

 

 

 

 

# 프로젝트 폴더에 app.py파일 생성 후 코드 작성(플라스크 진입점)

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return 'Hello, World!'
if __name__ == '__main__':
    app.run(debug=True)

*바로 실행시켜도 작동되는데;
쉘에서 아래 명령어로 포트 조절 가능하다.

flask run --host=0.0.0.0 --port=1234

 

 

 

 

# 페이지 라우팅

페이지에 대한 바운딩으로 플라스크는 동작.( / 루트페이지로 오면~, /home 페이지로 오면~)

 

일반 라우팅(/경로)

from flask import Flask

app = Flask(__name__)

@app.route('/')
@app.route('/home')
def home():
    return 'Hello, World!'

@app.route('/user')
def user():
    return 'Hello, User!'

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

 

동적 라우팅

from flask import Flask

app = Flask(__name__)

@app.route('/')
@app.route('/home')
def home():
    return 'Hello, World!'

@app.route('/user/<user_name>/<int:user_id>')
def user(user_name, user_id):
    return f'Hello, {user_name}({user_id})!'

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

* /경로/<라우팅 변수>로 넘어온 값을 파이썬 함수의 인수로 사용 가능.

 

 

 

 

# 템플릿 html 렌더링(프로젝트 폴더에 templetes폴더에 index.html 생성 후 작성)

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index():
    return render_template("index.html")

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

 

 

 

 

# 이번에는 템플릿에서 파이썬으로부터 받은 값 사용해보기

 

먼저,  app.py에서 템플릿으로 렌더링으로 변수 넘겨주기

@app.route("/student")
def student():
    return render_template("student.html", 
            template_name=student_data["name"], 
            template_score=student_data]["score"])

 

student.html

<h2>{{ template_name }} 님의 성적</h2>
<ul>
    {% for key, value in template_score.items() %}
        <li>{{ key }} : {{ value }}</li>
    {% endfor%}
</ul>

 

 

 

 

# Get,Post 처리

@ app.route ( "/", methods = [ "GET", "POST"])

* 플라스크 라우터 기본은 GET만 있다. 다만, 위와 같이 추가 설정 가능. 

 

 

 

 

# 참고 

https://hleecaster.com/flask-jinja2/

 

파이썬 Flask 사용법 2 (Jinja2 템플릿, 변수, 조건문/반복문) - 아무튼 워라밸

쉽고 가벼운 파이썬 마이크로 웹 프레임워크 Flask. Flask에서 HTML문서를 렌더링하는 템플릿 엔진 Jinja2 사용법, 파이썬 변수, 조건문/반복문을 사용법을 최대한 쉽게 정리했다.

hleecaster.com

+ 장고(Dgjano)참조

 

728x90