본문 바로가기

기초공부/WEB

[Flask]빠르게 시작하기 - 기본 애플리케이션

설치하기

우선 설치하였다



기본 애플리케이션

우선 아래와 같이 작성하였다.



cmd 창에서 실제로 실행해서



http://127.0.0.1:5000/ 페이지로 이동하면 다음과 같은 결과가 출력된다.



해석해보자.

from flask import Flask # Flask class를 import 했다.
# 이 클래스의 인스턴스가 WSGI(Web Server Gateway Interface) 어플리케이션이 된다.
app = Flask(__name__) # Flask라는 객채를 생성하고 인자를 __name__을 입력한다.
# 단일 모듈로 사용한다면, __name__을 인자로 사용해야 한다.
# 어플리케이션으로 시작되는지, 모듈로 임포트 되는지에 따라 이름이 달라지기 때문이다.
# 플라스크에서 템플릿이나 정적 파일을 찾을 때 필요하다.
@app.route('/')
# route() 데코레이터를 사용해서 Flask에게 어떤 URL이 우리가 작성한 함수를 실행시키는지 알려준다.
def hello_world() : # 작성된 함수의 이름은 그 함수에 대한 URL을 생성하는데 사용되고, 그 함수는 사용자 브라우저에 보여줄 메시지를 리턴한다.
    return 'Hello World!'

if __name__=="__main__" :
    app.run() # run()함수를 통해서 우리가 개발한 어플리케이션을 로컬서버로 실행한다.
# 소스파일을 python 인터프리터를 이용해서 실행하면 if 문장은 우리가 실행한 서버가 현재 동작되는 유일한 서버라는 것을 보장한다.


외부에서 접근 가능한 서버

위의 서버는 네트워크상에 있는 다른 컴퓨터에서는 접근이 안 되고 로컬서버에서만 접근 가능하다. 디버그모드상에서 어플리케이션의 사용자가 임의의 파이썬코드를 여러분의 컴퓨터에서 실행할 수 있기 때문이다.debug모드를 해제하거나 네트워크상에 있는 사용자들을 신뢰한다면, run()메소드의 호출을 변경해서 서버의 접근을 오픈할 수 있다.

app.run(host='0.0.0.0')

'기초공부 > WEB' 카테고리의 다른 글

[Flask]빠르게 시작하기 - 라우팅  (0) 2019.05.20
[Flask]빠르게 시작하기 - 디버그 모드  (0) 2019.05.20
SQL INJECTION  (0) 2019.05.13
[PHP]Superglobals, $_SERVER  (0) 2019.05.06
[PHP]getenv  (0) 2019.05.06