2020. 7. 14. 20:20ㆍ캐리의 데이터 세상/캐리의 데이터 공부 기록
파이썬 프레임워크 Flask, 템플릿 엔진 Jinja2
Django vs Flask
파이썬의 대표적인 프레임워크 Django와 Flask에 대해 개발자들이 꼽은 장점들 사이트에서 가져왔다. 수업에서는 Flask에 대해 하루종일 실습했는데, 넘사벽이였던 스프링 프레임워크를 한달 전에 이미 맛을 보고 와서인지 조금은 장벽이 낮아진 느낌.
Django | Flask |
Rapid development | Lightweight |
Open source | Python |
Great community | Minimal |
Easy to learn | Open source |
Mvc | Documentation |
sources : 디장고 플라스크 비교 링크
Top Django projects:
Top Flask projects:
image sources 유명한 django와 Flask 활용 프로젝트
Flask py파일 기본 화면. 불러 들일 페이지 및 내용에 따라 import 추가.
from flask import Flask,render_template,request # 1. import부터 / html 불러들이기위해 render_template / client로부터 넘어오는거 받기 위해 request
app = Flask(__name__) # 2. 개체생성
# @app.route에 요청 주소값
@app.route('/') def index(): return render_template('index.html') # 3.요청 처리 (스프링에서의 controller 역할. 최종적으로 return에서 view 페이지 요청했던것과 비슷한 역할.)
@app.route('/home') def home(): return "Welcome home" #5. 주소창에 /home입력시 이동, 화면창에 리턴값 표시
@app.route('/user/<username>') def show_user_profile(username): return 'User %s'%username # url이/user/<username> 식으로 가져오는 경우에는 함수안에 매개변수 username 적어야. @app.route('/user/<username>/<int:age>') def show_user_profile_age(username,age): return 'Username%s, 나이%d'%(username,age) # 7 데이터타입 지정해서 호출하는것도 가능
app.run(debug=True, port=5000) # 4.실행 |
작업하는 같은 경로상에 templates, static 폴더를 만들어 준다.
templates 폴더 - html
sstatic 폴더 - css, js, image등
Jinja2는 파이썬용 템플릿 엔진으로, Flask 웹프레임워크 사용할 때 Jinja2로 써줘야함.
예시
파이썬 문법에서 중괄호나 %등으로 감싸 주며 구분.
{% block %} 모든 블록 태그는 하위 템플릿이 템플릿의 해당 자리 표시자를 재정의 할 수 있음을 템플릿 엔진에 알려줌
{% ... %} for Statements
{{ ... }} for Expressions to print to the template output
{# ... #} for Comments not included in the template output
# ... ## for Line Statements
extends로 상속, js, css,html 연동하는 부분까지 지난번 자바+스프링으로 웹 구축하는 것과 같은 과정을 밟고 있는 중.
Bootstrap으로 웹페이지 틀 만들어서 Form - Table 값 받고 출력, 파일 업로드 등까지 다뤘는데 다시 만들어봐야겠다. API 볼수록 내용은 방대하고 하면 할수록 자바,스프링,파이썬 기본 문법 했던 것들이 계속 반복되니 헷갈리는 부분은 그때 그때 정리해야 할듯.
'캐리의 데이터 세상 > 캐리의 데이터 공부 기록' 카테고리의 다른 글
군집화 (Clustering) (0) | 2020.08.25 |
---|---|
랜덤 포레스트 (Random Forest) 정리 (0) | 2020.08.15 |
비전공자 머신러닝 혼자 공부하기 커리큘럼(feat.선형대수) (0) | 2020.08.13 |
머신러닝(Machine Learning) 분류 (0) | 2020.08.10 |
Chart.js로 그래프 만들기 (0) | 2020.07.29 |
데이터베이스 - SQLite / MariaDB / ORACLE (0) | 2020.07.13 |
비전공자 데이터 공부 입문 - 학습 사이트 정리 (0) | 2020.07.08 |