Python Flask를 이용해보려고 한다!

 

일단 new project를 생성한다. 프로젝트 이름은 m44_flask

.

서버와 location도 확인한다.

 

Flask 홈페이지에 접속한다.

.

setup을 진행해야 하므로 위의 코드를 확인한다.

.

pip install Flask를 위에서 만든 프로젝트의 터미널에 타이핑 하여 설치한다.

.

FLASK_APP = holle.py flask run은 조금뒤에 사용할 것이다.

이 부분을 복사해서 파이썬으로 이동한다.

 

hello.py를 생성한 후 위에서 복사한 코드를 붙여넣는다.

.

위에서 사용하지 않았던 FLASK_APP = holle.py flask run 를 터미널에 입력한다.

.

복사한 코드는 대표적인 "Hello World!" 를 출력한다.

플라스크는 @app.route()를 사용하여 진행할 것인데 괄호 안에는 주소뒤에 붙여서 진행할 것을 입력한다.

.

실제로 127.0.0.1:5000/ 에 접속하면 Hello World! 가 출력되고, 

127.0.0.1:5000/greeting/란아 에 접속하면 반갑습니다. 란아님! 이 출력된다.

.

란아 부분에 다른 것을 입력하면 그것으로 대체되어 출력된다.

.

3제곱을 할 app을 작성하려고 한다.

.

cube라는 이름을 사용할 것이다.

.

요청된 값 num으로 3제곱을 하여(3제곱 : **3 으로 표현) result에 담은 뒤, string형으로 result를 return한다.

.

왼쪽이 결과이다. 주소창을 보면, 127.0.0.1.5000/cube/3 이다.

.

cube에 num값 3이 들어가서 3의 3제곱인 27이 리턴되었다.

 

다음은 lunch메뉴를 정하는 app을 작성한 것이다.

.

menu list에 menu 이름들을 적어서 list를 완성 했다.

.

order = random.sample(menu, person) 는 random의 sample기능을 이용하는 것인데 menu리스트에서 person 의 수만큼 랜덤으로 추출하여 리스트로 반환해주는 코드이다.

.

이를 사용하기 위해서는 위에서 import random을 적어주면 된다.

.

127.0.0.1.5000/lunch/3 으로 요청했고, 그 결과로 메뉴 3개가 담긴 리스트와 주문할게요!가 리턴되었다.

텔레그램(telegram)을 이용한 bot 만들기를 해보려고 한다.

.

먼저 스마트폰으로 telegram앱을 다운로드 후 가입까지 진행한뒤 아래 과정을 진행해야 한다.

.

telegram.org 에 접속하여 하단의 Telegram Web-version을 클릭

API 탭의 BOT API의 Learn more about the Bot here 클릭

 

봇을 어떻게 이용하는지 확인

requests 형식 확인

PC로 모바일에서 가입한 정보로 로그인 한 화면이다. 여기에서 botfather을 검색한다.

bot의 name과 username을 입력한다. 그러면 HTTP API가 생성되는데 이것은 노출시키면 안된다고 써있다.

위에서 확인했던 requests 형식 확인을 다시 하고 난 뒤 나에게 맞게 바꾼다.

나에게 맞게 바꾼 requests를 주소창에 입력하면 이와같은 정보가 뜬다. 성공적으로 잘 만들어졌다.

python으로 돌아가서 telegram.py를 생성하고 이와같이 입력한다.

다시 채팅창으로 돌아가서 메시지를 입력해본다. 나는 '안녕 친구야' 라고 입력하였다.

위에서 입력했던 requests 마지막 부분을 /getUpdates 로 변경하여 입력하였더니 내가 보낸 메시지 내역을 확인 할 수 있다. 그리고 id를 확인할 수 있다.

파이썬을 통해서도 chat_id를 알 수 있다.

다시 설명페이지로 돌아가서 sendMessage 설명을 확인해보면 Parameter값 중 chat_id와 text는 반드시 필요하다는 것을 확인할 수 있다.

 

requests 요청을 통해 메세지를 전송하려고 변경을 해보았다.

위에서 확인한 사실대로 prameter값을 chat_id와 text로 주었다.

bot이 보내는 메세지로 전송이 되었다. (첫번째 메세지)

 

이번에는 파이썬을 통해서 봇이 두번째 메세지를 보내도록 해보았다!

스마트폰으로 채팅을 확인한 결과이다.

Python 자료구조에서 set은 중복을 허용하지 않고, 순서가 없다.

.

그리고 교집합과 합집합을 이용할 수 있다.

.

아래에 예시 코드 첨부.

+ Recent posts