Python + Flask - 웹서비스를 시작하다.

웹 프로그래밍의 기본은 서버를 돌리는 것이다.

사용자에게 받은 정보를 서버에서 처리해 주는 것이 가장 큰 목적이다.

파이썬 Flask는 이를 너무나도 쉽게 처리해준다.

Node.js 와 비슷하지만 파이썬만의 장점이 존재한다.

차차 공부해 가면서 파이썬의 매력을 분명 느낄 수 있다고 생각한다.

 

파이썬은 굉장히 쉬운 언어이다. 그렇다고 저급(?)한 언어는 또 아니다.

 

나는 처음 JAVA, JSP 를 시작하였고 그 후에 Node.js 의 매력에 빠져 모든 웹 서비스를

Node.js 로 만들어 본 경험이 있다.

 

하지만 파이썬 Flask를 시작한 후 파이썬도 그에 맘먹는 기능과 편의를 제공한다는

사실을 느낄 수 있었다.

 

우선 Node.js 와 파이썬 Flask 를 비교해 보겠다.

 

Node.js 로는 이렇게 만들 수 있다.

 

var http = require('http');
var express = require('express');

var app = express();

app.use(app.router);

 

var server = http.createServer(app);
server.listen(30000, function(){
    console.log('Server is running at the localhost:30000/');
});

 

app.get('/', function (request, response) {
    fs.readFile('ajax_test.html', function (error, data) {

        response(data.toString());

    });

});

 

이번에는 파이썬 Flask 의 경우다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

from flask import Flask

app = Flask(__name__)

 

@app.route('/', methods=['POST', 'GET'])
def resp():
    return render_template(index.html')

 

if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=True)

 

끝이다.

 

두 언어 모두 간단하게 서버를 돌릴 수 있다.

Node.js 진영에서 사용하는 Socket.io 모듈 또한 파이썬에서도 사용 가능하다.

 

파이썬 Flask 를 이용해서 사용자의 정보(로그인 정보)를 어떻게 처리하는지 알아보자.

 

@app.route('/login', methods=['post', 'get'])
def login():
    if request.method == 'POST':
        user = request.form['nm']
        return redirect(url_for('success', name=user))
    else:
        user = request.args.get('nm')
        return redirect(url_for('success', name=user))

 

위의 코드를 보면 route를 이용해서 'localhost:5000/login' 을 통해서 form의 정보를 받는다.

POST방식과 GET방식은 인터넷에 검색해 보면 자세한 설명을 알 수 있다.

 

위의 코드를 좀 더 발전시키면 Database와의 연동을 통해서 로그인 성공/실패를 반환해 줄 수 있다.

 

앞으로 더 많은 파이썬 Flask의 기능을 설명할 것이다.

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED