qingfro9님의 블로그 입니다.

[Flask]0x01 기초부터! 이런거구나 싶었던 경험..; 본문

개발언어

[Flask]0x01 기초부터! 이런거구나 싶었던 경험..;

qingfro9 2019. 8. 22. 00:34

요즘 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

 

'개발언어' 카테고리의 다른 글

C++ 정적바인딩, 동적바인딩 예제 코드  (0) 2020.06.21
pwntool 설치 로그  (0) 2019.08.07
[python]pip 업데이트하다가 에러 날 때 해결  (0) 2019.08.03
에이다(ADA)  (0) 2019.07.31
Comments