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 |