반응형
인터넷상에서 상대방에게 어떤 요청을 받았을 때 지정된 텍스트를 출력해주는 서버 코드를 앞에서 살펴보았다.
이번에는, 어떤 요청이 왔을 때 단순히 특정 문자열을 리턴해주는 것이 아니라 우리가 미리 작성해둔 웹페이지(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 파일을 넣어놔야 정상 실행된다.
반응형
'프로그래밍 관련 > 파이썬' 카테고리의 다른 글
for문 관련 헷갈리는거 (0) | 2021.09.07 |
---|---|
리스트 자료형 (0) | 2021.09.03 |
파이썬 문자열 자료형 (0) | 2021.05.08 |
플라스크에 대하여(3).url_for 함수 (0) | 2021.04.27 |
flask(플라스크) 프레임워크에 대하여(기본개념) (0) | 2021.04.26 |