728x90

지금까지는 return을 화면을 반환하는것을 보여줬다.

그러면 항상 return을 사용해야하는걸까?

당연하지만 그렇지 않다.

원래 홈페이지처럼 지정된 화면을 출력하는 방법이 있다.

그 방법은 바로  render_template이다.


render_template


사실 render_template를 설명하려면 jinja2 엔진에 대해서 설명해야하나

아직은 설명할 시간은 아닌거 같고 그냥 화면에 표시하는 예제만 보여주려 한다.


화면에 보여줄 html예제는 아래와 같다.


<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index</title>
</head>
<body>
Test
</body>
</html>


이 html을 특정 route가 됬을때 여는 예제는 아래와 같다.


from flask import Flask, render_template

app = Flask(__name__)


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


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


render_template는 지정된 html을 실행하는데 이 때 html파일은 반드시

프로젝트 내의 templates아래에 둬야한다 아래의 그림처럼 말이다.



사진의 왼쪽을 보면 templates라는 폴더 아래에 index.html이 들어있음을 알 수 있다.

render_template는 그 안의 파일에 반응한다. 그러므로 표시할 파일은 반드시 저안에 들어있어야한다.

그러면 한번 실행해 보자.



보시다시피 화면에 제대로 표시됨을 알 수 있다.


'Programming > Python-Flask' 카테고리의 다른 글

[Flask-03]flask, apache연동하기  (0) 2018.05.23
[Flask-01]간단한 서버 만들기  (0) 2017.08.07

+ Recent posts