본문 바로가기
프로그래밍 관련/파이썬

플라스크에 대하여(2) template render. 웹페이지 출력하기

by 존버매니아.임베디드 개발자 2021. 4. 26.
반응형

인터넷상에서 상대방에게 어떤 요청을 받았을 때 지정된 텍스트를 출력해주는 서버 코드를 앞에서 살펴보았다.

이번에는, 어떤 요청이 왔을 때 단순히 특정 문자열을 리턴해주는 것이 아니라 우리가 미리 작성해둔 웹페이지(html 파일)을 상대방에게 출력해주는 예시를 살펴보자.

별로 어려울 것 없다.
앞에서 봤던 예제에서 새로운 api가 하나 추가 될 뿐이다.
이 api의 이름은 render_template 이다.

이 api의 기본 사용방법은 아래와 같다.

from flask import Flask , render_template
app = Flask(__name__)

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

@app.route("/page1")
def Test1():
    return "안녕하세요"

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

 

이제 서버의 메인페이지로 접근하면

전에는 숫자 500을 출력했지만

이제는 index.html 이라는 파일에 작성된 html 내용을 출력해서 보여주게 된다.

 

참고로 index.html 의 코드는 아래와 같이 간단히 만들어보았다

<!doctype html>
<html>
    <head>
        <title>"렌더링 페이지 예시</title>
    </head>
    <body>
        <H2>example 1</H2>
        <HR>
        example 1-1
    </body>
</html>

 

 

메인 페이지에서 html 파일 안의 내용을 출력해주는 것을 볼 수 있다.

 


전의 예시에서는 상대방에게 단순 문자열을 출력할 뿐이었지만 이번에는 그 대신 우리가 미리 만들어 둔 html 페이지를 상대방에게 보여준다는 것이 차이점이다.


한편, render_template API 관련해서 유의사항이 있는데

flask app 실행코드가 구현된 파이썬 파일이 있는 경로에다가

templates 라는 폴더를 만든 후, 이 폴더안에 html 파일을 넣어놔야 정상 실행된다.

 

반응형