[Flask]0x01 기초부터! 이런거구나 싶었던 경험..;
요즘 custom하고 있는 도구가 Flask를 사용하였고, 코드를 수정하면서 보니, 파이썬 기반이여서 매우 편리하였고, 원할 때 쉽게 웹 서비스 구현이 가능할 거 같아서, 정리해보기로하였다. 얼마나 갈진 모르겠지만, 기록하면 언젠가 도움이 되지 않을까?
우선 블로그 중에 Flask를 기반으로 블로그를 만들어서 운영하는 곳이 있어서 거기 있는 곳 예제를 간단하게 해보았다.
Flask 설치
pip install flask
pip install flask
우선 해당 블로그에 있는 "간단한 Flask 어플리케이션 만들기"이다.
from flask import Flask
app = Flask(__name__)
@app.route('/')
@app.route('/index')
def index():
return 'Hello Flask!'
linux에서 환경 변수 등록
$ exrpot FLASK_APP=app.py
$ export FLASK_DEBUG=1
$ flask run
간단하구먼
About 페이지 추가
템플릿 생성
templates : html 형태의 탬플릿을 저장하는 폴더
static : css 형태의 파일을 관리하는 폴더
추가로 어플리케이션 상에서 이러한 html 파일들을 렌더링할 수 있도록 Flask에서 'render_template'를 제공한다.
Jinja2 템플릿 엔진을 사용해서 html 문서 내에 코드 조각들을 삽입하여 웹 페이지를 동적으로 생성할 수 있다.
Jinja2 탬플릿
- https://palletsprojects.com/p/jinja/
간단히 설명하면 HTML 태그에 if문과 같은 조건문이나 for문을 작성할 수 있음
app.py에 from flask import Flask, render_template 라고 지정하였을 뿐인데 template 경로를 알고 불러오는 것을 확인할 수 있다.
layout.html 생성 및 index.html 변경
index.html 파일에 위에 위와 같이 작성하면
같은 위치에 있는 layout.html 파일을 아래 내용들을 넣게 된다. = block content 라고 생각하면 된다. layout.html 파일을 보면 main 태그 않에 content가 들어가게 되는 것이다.
최종 결과물
동일하게 about 페이지도 변경 가능하다.
참고
- https://opentutorials.org/module/3669/22001