웹 백엔드/Django & Flask

Flask(플라스크) - 파이썬 Flask 기본 템플릿(template) 예제 및 소스파일

2018. 6. 22. 17:03
목차
  1. Flask 관련 포스팅  :  Flask 관련
  2. 파이썬(Python) Flask - Templates 예제 소스 코드


파이썬(Python) Flask - Templates



오늘은 Flask 에서 템플릿(Template) 파일 렌더링 및 데이터 전달에 대해서 알아보겠습니다.

설치 시에 대부분의 기능을 지원하는 중량 프레임워크인 Django에 비해서 Flask는 아무것도 없는 초기
기본 레이아웃 형태로 설치가 지원되고 있습니다.

Flask는 매우 가볍고 심플하고 경량화를 추구하는 철학때문에 필요한 패키지들을 별도로 사용자가
설치하거나 직접 개발해서 사용해야 합니다.

쉽게 이야기 하면 많은 곳에서 활용하고 있는 자유도가 대단히 높은 프레임워크라고 볼 수 있습니다. 

웹 어플리케이션 제작에 있어서 데이터를 가공한 후 사용자에게 View 화면을 제공하는 Templates 기능은
반드시 학습해야 될 내용이라 볼 수 있습니다.

그러면 문서 하단에서 간단하게 예제를 작성해보겠습니다.

Flask 관련 포스팅  :  Flask 관련

파이썬(Python) Flask - Templates 예제 소스 코드


플라스크 Tempates 기능 구현을 위해서 플라스크 엔진에서 미리 가공 된 데이터를 전달 후 index.html 파일을 통해서 플라스크에서 함께 렌더링하는 보통 웹 프레임워크의 기본적인 예제입니다.

index.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<html>
  <head>
    <title>Flask Template Example</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet" media="screen">
    <style type="text/css">
      .container {
        max-width: 500px;
        padding-top: 50px;
        font-size: 16px;
      }
    </style>
  </head>
  <body>
    <div class="container">
      <h3><p>Binding String : {{my_str}}</p></h3>       <!-- my_str 바인딩 -->
      <h3><p>Bind List Value : {{my_list[1:3]}}</p></h3>  <!-- my_list 바인딩 -->
      <h3><p>Loop list:</p></h3>                        <!-- my_list 순회 -->
      <ul>
        {% for n in my_list %}
        <li>{{n}}</li>
        {% endfor %}
      </ul>
    </div>
  </body>
</html>
Colored by Color Scripter
cs

- 17번 라인 : my_str 변수를 통해서 데이터 바인딩
- 18번 라인 : my_list 변수를 통해서 배열 데이터 슬라이스 처리 후 바인딩 
- 21-23번 라인 : my_list의 배열 데이터를 순회 하면서 li 태그에 바인딩


flask_template.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from flask import Flask, render_template
app = Flask(__name__)
 
 
@app.route("/")
def template_test():
    return render_template(
                'index.html',                      #렌더링 html 파일명
                title="Flask Template Test",       #title 텍스트 바인딩1
                my_str="Hello Flask!",             #my_str 텍스트 바인딩2
                my_list=[x + 1 for x in range(30)] #30개 리스트 선언(1~30)
            )
 
 
if __name__ == '__main__':
    app.run(debug=True)
Colored by Color Scripter
cs

- 1번 라인 : flask 및 관련 패키지 import
- 2번 라인 : Flask 객체(인스턴스) app 할당
- 9, 10, 11번 라인 : View 페이지에 응답 할 string, array 데이터 선언(title, my_str, my_list)
- 16번 라인 : 서버 실행(디버그 모드 True)
- 기본적으로 Root 디렉토리에 Templates 폴더 생성 필요

Flask Templates의 추가적인 상세 설명은 이 곳을 참고해 주세요.



파이썬(Python) Flask
 - Templates 실행 화면


아래 이미지로 Templates 기능의 프로젝트 폴더 구조(확인 중요) 및 실제 실행 화면을 확인하실 수 있습니다.



실제 실행 화면

Flask 공식 Reference  :  Flask 관련



마무리


이번 포스팅에서는 플라스크 프레임워크를 활용해서 간단한 Templates 렌더링 테스트를 진행했습니다.

경량화를 추구하는 마이크로 프레임워크인 플라스크는 프로젝트가 진행 될 수록 단점이 두드러지는 경향이

있습니다. 검증되지 않은 많은 패키지를 설치하는 것도 원인이 될 수 있겠습니다.


하지만, 직관적이고 생산성이 가장 높은 언어로 생각되는 파이썬 플라스크를 활용해서 아주 빠르게 

원하는 웹 페이지를 작성하고 나아가 웹 어플리케이션을 편하게 제작할 수 있는 큰 장점이 있습니다.

첨부된 소스코드를 다운받아서 반드시 한 번 실행 해보시는 것을 추천드립니다.

다음 시간에도 플라스크(Flask)의 다양한 기능 및 도움이 되는 기능을 포스팅 하도록 하겠습니다.

소스코드 다운로드 :  flask_template.zip




저작자표시 동일조건 (새창열림)

'웹 백엔드 > Django & Flask' 카테고리의 다른 글

Flask(플라스크) - 파이썬 Flask 로그인(Login) 및 세션, DB 연결 예제 및 소스  (4) 2019.05.13
Django(장고) - 로깅(Logging) 설정 및 DB SQL 쿼리(Query) 확인  (0) 2019.02.14
Flask(플라스크) - 파이썬 Flask 파일 업로드(file upload) 예제 및 소스파일  (7) 2018.06.20
Flask(플라스크) - 파이썬 Flask RestFul API 서버 작성 예제 및 다운로드  (0) 2018.01.21
Django(장고) - 로깅(Logging) 설정 및 로그(Log)파일로 저장  (0) 2017.10.09
  1. Flask 관련 포스팅  :  Flask 관련
  2. 파이썬(Python) Flask - Templates 예제 소스 코드
'웹 백엔드/Django & Flask' 카테고리의 다른 글
  • Flask(플라스크) - 파이썬 Flask 로그인(Login) 및 세션, DB 연결 예제 및 소스
  • Django(장고) - 로깅(Logging) 설정 및 DB SQL 쿼리(Query) 확인
  • Flask(플라스크) - 파이썬 Flask 파일 업로드(file upload) 예제 및 소스파일
  • Flask(플라스크) - 파이썬 Flask RestFul API 서버 작성 예제 및 다운로드
[좋은사람]
[좋은사람]
좋은사람의 개발 노트 입니다.
[좋은사람]
좋은사람의 개발 노트
[좋은사람]
전체
오늘
어제
  • 전체보기 (189)
    • 언어 (68)
      • Java (12)
      • Python (39)
      • C# (5)
      • PHP (4)
      • Go (8)
    • OS (18)
      • Linux (7)
      • Windows 10 (5)
      • Etc (6)
    • 빅데이터 & 분석 (8)
      • R (0)
      • Machine Learning (8)
    • 네트워크 (4)
      • Etc (4)
    • 웹 프론트 (25)
      • Javascript & ECMA (8)
      • Vue (13)
      • React (4)
    • 웹 백엔드 (15)
      • Spring (3)
      • Django & Flask (7)
      • Npm & Express (5)
    • 개발도구 (18)
      • Jetbrains (3)
      • Eclipse (5)
      • Git (4)
      • Atom & VScode (6)
    • 데이터베이스 (7)
      • Oracle (2)
      • MariaDB & MySQL (2)
      • Etc (3)
    • 모바일 (6)
      • Android (3)
      • Hybrid (3)
    • 라이프 (20)
      • 여행 & 일상 (6)
      • 취미 (14)

블로그 메뉴

  • 홈으로
  • 블로그소개
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 아톰 에디터
  • OCR
  • Java
  • CFW
  • 이클립스
  • go
  • Database
  • Linux
  • Django
  • 윈도우10
  • 개발자 면접
  • 2DS
  • Algorithm
  • python
  • javascript
  • 리액트
  • 머신러닝
  • 미뮤
  • npm
  • php
  • centos
  • SpringSTS
  • ubuntu
  • react
  • windows10
  • 인텔리j
  • nodejs
  • 커펌
  • 3DS
  • Git
  • 코딩 면접
  • Eclipse
  • Thread
  • flask
  • vue.js
  • ps4
  • 디자인패턴
  • ATOM
  • C#
  • Anaconda

최근 댓글

최근 글

hELLO · Designed By 정상우.
[좋은사람]
Flask(플라스크) - 파이썬 Flask 기본 템플릿(template) 예제 및 소스파일
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.