1] Flask의 개념, 설치, 간단한 실습
1. 웹 프레임워크
과거에 써뒀던 Flask글이 있는데, 다 까먹고 지금 다시 보니까 모르겠다....케케케케케
https://argoswebpage.tistory.com/9 (과거의 글...)
Flask에 대해 말하기 전에,
웹 프레임워크에 대해 짚고 넘어가고 싶었다.
먼저 웹 프레임워크란?
쉽게 말하면 직접 물건을 전달해주는 것과 배달 서비스를 이용하는 것으로 비유를 들 수 있는데,
배달 서비스의 경우 이용방법만 안다면 아주 간편하게 물건을 전송할 수 있다.
여기서 배달 서비스는 프레임워크이고, 직접 물건을 전달하는 방식보다 훨씬 간편하게 해준다.
즉, 웹 프레임워크는 간단히 말하자면 '웹을 개발하는 데에 있어 쉽게 할 수 있도록 도와주는 도구'이다.
위키 백과를 보면, 웹 프레임워크는
동적인 웹 페이지나, 웹 어플리케이션, 웹 서비스 개발 보조용으로 만들어지는 어플리케이션 프레임워크의 일종이며,
웹 페이지를 개발하는 과정에서 겪는 어려움을 줄이는 것이 주 목적으로
데이터베이스 연동, 템플릿 형태의 표준, 세션 관리, 코드 재사용 등의 기능을 포함하고 있다.
라고 나와있다....과연 그럴 것인가!!!
2. 웹 프레임워크와 라이브러리의 차이
라이브러리는 단순 활용가능한 도구들의 집합이다.
개발자가 이미 만들어놓은 클래스 또는 함수 등을 우리가 나열하여 필요한 것들을 불러 사용하는 방식이다.
프레임워크와 라이브러리의 큰 차이는 흐름을 누가 가지고 있느냐이다.
프레임워크의 경우엔 전체적인 흐름을 프레임워크가 쥐고 있으며, 개발자는 그 안에서 필요한 코드를 짜 넣는다.
반면에 라이브러리는 개발자가 전체적인 흐름을 만들며, 라이브러리에서 필요한 것들을 가져다 사용한다.
즉, 프레임워크는 가져다가 사용한다기보다는 거기에 들어가서 사용한다는 느낌으로 접근해야 한다.
3. Flask
그렇다면 결국 Flask는 무엇인가?
Flask는 파이썬 기반의 웹 프레임워크이다.
쉽게 말해서 파이썬을 이용해서 웹을 만드는 것을 도와주는 프레임워크!라는 것이다.
플라스크 외에도 유명한 장고(Django)가 있지만,
플라스크는 매우 심플하고 가벼운 느낌을 가지고 핵심적인 기능을 가지기에 많은 이들에게 사랑을 받고 있다.
4. Flask 설치
>>pip install flask
powershell을 통해 설치해주었다.
저번에는 오류를 엄청 많이 내더만....이번엔 그냥 넘어가주네....ㅎㅎ
5. 간단한 실습
1
2
3
4
5
6
7
8
9
|
from flask import Flask #Flask가져옴
app = Flask(__name__) #Flask객체 생성 후, __name__으로 인수 지정
@app.route('/') #생성한 객체의 route를 설정, url을 지정
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run() #어플리케이션 실행
|
'Hello World'를 출력해주는 간단한 페이지를 만들었다.
다음과 같이 url을 통해 접근할 수 있다고 뜬다.
Chrome창을 열어 'http://127.0.0.1:5000/'을 입력하니, 아래와 같이 떴다.
아싸 성공!!
혹시 궁금하여 route안의 인자를 다르게 줘 보았다.
1
2
3
4
5
6
7
8
9
|
from flask import Flask #Flask가져옴
app = Flask(__name__) #Flask객체 생성 후, __name__으로 인수 지정
@app.route('/hello') #생성한 객체의 route를 설정, url을 지정
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run() #어플리케이션 실행
|
이렇게 '/hello'로 바꾸어주었다.
그랬더니 예상했던대로

다음과 같은 url로 접근할 수 있었다!!!
6. References
내 글이랑
https://doorbw.tistory.com/31