내일배움캠프 1주차 # 기초강의학습(2)

< 4강 복습 >

1. Flask

서버를 만들 수 있는 프레임워크

from flask import Flask
app = Flask(__name__)

@app.route('/')
def home():
   return 'This is Home!'

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

1) html 파일 불러오기

서버에서 html 파일을 불러오기 위해서는 flask의 내장함수인 'render_template' 을 이용한다.

from flask import Flask, render_template
app = Flask(__name__)

@app.route('/')
def home():
   return render_template('index.html')

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

2) GET/POST 요청에서 클라이언트의 데이터를 얻는 방법

  • 'GET' 요청 API코드
    /test라는 창구에 GET방식으로 'title_give'라는 값을 받아와 'title_receive'라는 변수에 담고 다시 response를 돌려준다.
@app.route('/test', methods=['GET'])
def test_get():
   title_receive = request.args.get('title_give')
   print(title_receive)
   return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
  • 'GET' 요청확인 Ajax코드
    /test라는 창구에 GET방식으로 'title_give'라는 변수에 '봄날은간다'라는 값을 담아 서버에 보내주고, response를 받아온다.
$.ajax({
    type: "GET",
    url: "/test?title_give=봄날은간다",
    data: {},
    success: function(response){
       console.log(response)
    }
  })
  • 'POST' 요청 API코드
    /test라는 창구에 POST방식으로 'title_give'라는 값을 받아와 'title_receive'라는 변수에 담고 다시 response를 돌려준다.
@app.route('/test', methods=['POST'])
def test_post():
   title_receive = request.form['title_give']
   print(title_receive)
   return jsonify({'result':'success', 'msg': '이 요청은 POST!'})
  • 'POST' 요청확인 Ajax코드
    /test라는 창구에 POST방식으로 'title_give'라는 변수에 '봄날은간다'라는 값을 담아 서버에 보내주고, response를 받아온다
$.ajax({
    type: "POST",
    url: "/test",
    data: { title_give:'봄날은간다' },
    success: function(response){
       console.log(response)
    }
  })

< 5강 복습 >

1. 내 프로젝트를 서버에 올리기

언제나 클라이언트의 요청에 응답하기 위해서는 컴퓨터가 항상 켜져있는상태여야하고,
공개 IP주소로 나의 웹서비스에 접근할 수 있게 해야한다.
따라서 AWS라는 클라우드 서비스에서 EC2서버를 이용해 접속한다.(Filezilla로 EC2에 업로드)
업로드를 하기전에 pip로 패키지를 설치해준다(flask,pymongo,dnspython)
마지막으로 AWS에서 5000포트를 열어주고, git-bash로 nohup python app.py & 를 실행하여 컴퓨터가 계속 켜져있도록 설정 해준다.


< 느낀 점 >

서버와 클라이언트 통신하는 부분같은 경우에는 원래 처음 강의를 들었을때 이해하기 어려운 부분이었다. 하지만 강의를 여러번 복습하고나니 자연적으로 '아 이게 이거고 이래서 동작하는구나!!' 라고 깨달을 수 있었다~!
오늘까지는 강의를 복습하는 시간을 가졌고. 내일부터는 본격적으로 미니프로젝트를 시행할텐데, 지금까지 내가 배운 것들이 모두 헛되지않게 잘 활용하는 시간이 되었으면 좋겠다 !!!

좋은 웹페이지 즐겨찾기