본문 바로가기
공부-프레임워크, 개발도구/Flask django

Flask시작하기

by 령과 2021. 12. 27.

1.설치 

pip install virtualenv   <-가상환경 설치하기

virtualenv venv          <-가상환경 생성

 

 

source venv/bin/activate    <-가상환경 진입하는 명령어 ios

./venv/Scripts/activate   <-가상환경 진입하는 명령어 윈도우

 

pip freeze  <-  가상환경에 진입했는지 확인하기 위한 명령어 아무 모듈도 없어야 한다!

 

pip install flask <-가상환경 진입 상태에서 플라스크 다운로드

 

venv폴더 위치한 곳에 app.py를 만들어보자 내용은 다음과 같다.

from flask import Flask #플라스크 호출

app=Flask(__name__) #객체 생성

@app.route('/') #(도메인,주소)~/ 요청을 받으면 아래 코드 실행
def hello_flask():
    return "Hello World!" #해당 정보를 전달한다.

if __name__ == '__main__': #작성코드를 실행한다. =>실제로 모듈 이름을 확인하는 과정
    app.run()

작성된 후에 가상환경 상태에서 

flask run 명령어를 실행하면 

결과가 나오는데 http://127.0.0.1:5000/ 실행이라고 적혀있다 해당 주소로 접근하면 Hello world가 적혀있다.

deactivate <- 가상환경끄는 명령어

 

 

-----------------------------------------------------------------------------------------------------------------------------------

간략하게 CRUD를 구현한 상태 postman에서 확인가능.

from flask import Flask, jsonify, request #플라스크 호출

app=Flask(__name__) #객체 생성

menus = [
    {'id':0, 'name':'Espresso','price':3000},
    {'id':1, 'name':'Americano','price':4000},
    {'id':2, 'name':'CafeLatte','price':5000}
]

@app.route('/') #(도메인,주소)~/ 요청을 받으면 아래 코드 실행
def hello_flask():
    return "Hello World!" #해당 정보를 전달한다.

@app.route('/menus') #GET /menus 신호를 받으면
def get_menus():
    return jsonify({'menus':menus})

@app.route('/menus',methods=['POST']) #POST /menus 신호를 받으면
def create_menu(): #json형식으로 request를 받았다고 가정한 예시임
    request_data = request.get_json()
    new_menu = {
        'id' : len(menus),
        'name': request_data['name'],
        'price': request_data['price']
    }
    menus.append(new_menu)
    return jsonify(new_menu)

@app.route('/menus/<int:id>',methods=['PUT']) #POST /menus 신호를 받으면
def update_menu(id): #json형식으로 request를 받았다고 가정한 예시임
    request_data = request.get_json()
    new_menu = {
        'id' : id,
        'name': request_data['name'],
        'price': request_data['price']
    }
    for i in range(len(menus)):
        if menus[i]['id']==id:
            menus[i]=new_menu
            break
    
    return jsonify(new_menu)

@app.route('/menus/<int:id>',methods=['DELETE']) #POST /menus 신호를 받으면
def delete_menu(id): #json형식으로 request를 받았다고 가정한 예시임
    for i in range(len(menus)):
        if menus[i]['id']==id:
            del menus[i]
            break
    return jsonify(menus)

if __name__ == '__main__': #작성코드를 실행한다. =>실제로 모듈 이름을 확인하는 과정
    app.run()

 

'공부-프레임워크, 개발도구 > Flask django' 카테고리의 다른 글

장고 명령어  (0) 2022.04.18

댓글