[kr-dev] 파이썬으로 가벼운 웹사이트 만들때 유용한 프레임워크(플라스크)

in #kr6 years ago (edited)

일상에서 필요한 소소한 프로그램을 만들어 사용하면서 결과 확인이나 입력 등을 하기 위해 결국 GUI를 사용해야 할 때가 있습니다.

개발자도 아닌데 비주얼 스튜디오나 QT 를 공부해서 뭔가 만들기는 어려울 뿐더러 집 밖에서는 사용하지도 못하고, 스마트폰용 앱을 개발하는 것은 더욱 어렵죠.

예전에는 비주얼베이직6라고 마치 그림판처럼 엄청 쉬운 GUI용 프로그램 개발툴이 있었는지 지원이 중단된지 10년도 넘었죠. 아시는 분은 아시겠지만, 파이썬과 거의 똑같은 문법을 가지고 있고 심지어 개발용 편집기에서는 대소문자 수정이나 들여쓰기도 자동으로 잡아주고, 무엇보다도 코드를 타이핑하는 외의 모든 개발툴 기능이 마우스로 다 됩니다. 여러줄 주석처리, 다시 원복, 책갈피 걸기, 책갈피로 이동, 다시 제자리로 돌아오기... 심지어 디버깅도 마우스로 됩니다.

여튼, 그러다가 웹으로 만들면 비교적 수월하게 데이터를 입력하거나 결과를 확인할 수 있어서 php를 사용해 왔는데, 버전이 7으로 올라가면서 예전 코드들에 경고 메세지가 수두룩하게 나오고 또 전체적인 패러다임이 python이나 node.js 와 별반 다르지 않게 바뀌더군요.

php가 파일 하나에 css도 넣고, html도 넣고 로직도 넣는게 간단한 입출력에는 직관적이라서 오히려 편한데, 시대의 흐름도 있고 해서 대안을 좀 찾아봤습니다.

  1. python django - 칭찬 자자.. 모든 기능이 만들어져 있다고 하나 거의 새로운 언어를 배우는 수준
  2. node.js express - javascript에 익숙하지 않아 제 경우에는 역시 새로운 언어를 배우는 수준
  3. python flask --- php 와 거의 비슷한 저레벨(?) 수준

그래서 결국 flask로 마음을 정하고 예제 코드를 따라가면서 만들어 보는데, 파이썬 세계의 잘 정돈된 라이브러리들을 이용할 수 있으면서도 php 이용할 때처럼 거의 파일 단위로 웹페이지를 만들 수 있네요.

기본 골격은 아래와 같습니다.

app.py

from flask import Flask

@app.route('/')
def index():
   html = "<html><body><h1>Hello World</h1></body></html>"
   return html

flask 객체가 있는 app.py를 실행하면 웹서버까지 자동으로 만들어지면서 웹사이트가 열리고, @로 시작하는 python 데코레이터 기능으로 주소를 정의한 후, 바로 아래줄에 임의의 함수명으로 결과 html을 생성하는 코드를 호출하게 됩니다.

php보다 오히려 마음에 드는 부분은, php가 페이지단위이다 보니까 계속 가지고 다녀야 할 데이터를 세션변수나 히든변수에 넣어서 매 페이지마다 전달해줘야 하는데, flask경우에는 나름 프레임웍이다 보니 메인 객체의 범위에 변수를 선언해 놓으면, 호출되는 모든 페이지에서 글로벌 변수로 접근이 가능하네요.

여기에 누가 만들어놓은 로그인/이증 라이브러리를 import하면 그 기능이 웹사이트에 추가되는 식으로 라이브러리들을 쉽게 호출해서 쓸 수 있구요.

요즘 유행하는 bootstrap같은 화면을 이용하면, 스마트폰용 사이트 만들기도 그렇게 먼 이야기가 아닐 것도 같습니다.

혹시 관심있으신 분은 아래 링크의 내용을 한번 보시죠~

http://thecoding.kr/python-flask/

Sort:  

🢃🢃🢃🢃🢃🢃🢃🢃🢃
🢃🢃🢃🢃🢃🢃🢃🢃🢃
🢃🢃🢃🢃🢃🢃🢃🢃🢃
Hey @minari
check it out Get your post resteemed over 90000+ followers and get upto $21+ SBD value Upvote. Go to This site: http://propuuer.gq/

파이썬에는 좋은 lib가 많이 있는 것 같습니다.

돈 주고 만들라고 해도 쉽지 않은 양질의 라이브러리가 오픈소스 아래 만들어지고 있다는 점이 늘 새롭습니다. ^^

참고로, php 에서 제일 유용하게 사용하는 include 함수가 파이썬에 없는 대신 아래와 같은 문법으로 다른 파이썬 스크립트를 그대로 불러서 실행시킬 수 있습니다.
python: exec(open("xxxxx.py").read())
php: include("xxxxx.php")

플라스크가 드디어 정식 버전이 되었습니다.
지금까지 0.XX 버전이였다가 며칠전에 1.0 버전이 되었네요. 이제 어였한 라이브러리 입니다. ^^
https://winterj.me/flask-release/

Coin Marketplace

STEEM 0.19
TRX 0.16
JST 0.030
BTC 68985.88
ETH 2736.64
USDT 1.00
SBD 2.72