필요한 리소스 설치
pip install flask
pip install flask_restful
pip install pymysql
wsgi.py
# -*- coding: utf-8 -*-
from api import *
if __name__ == "__main__":
app.run(host="0.0.0.0", debug=True, port=5000)
__init__.py
from flask_restful import Resource, Api, reqparse
from flask import Flask
from api import database
from api import new_member, update_member, delete_member, get_member
app = Flask(__name__)
api = Api(app)
class MemberManagementSystem(Resource):
def post(self):
try:
parser = reqparse.RequestParser()
parser.add_argument('id', type=str)
parser.add_argument('password', type=str)
parser.add_argument('email', type=str)
parser.add_argument('member_code', type=str)
parser.add_argument('member_kinds', type=str)
args = parser.parse_args()
id = args['id']
password = args['password']
email = args['email']
member_code = args['member_code']
member_kinds = args['member_kinds']
cursor = database.connect()
if member_code in ['new']:
new_member.management(id, password, email, member_kinds, cursor)
elif member_code in ['update']:
update_member.management(id, password, email, member_kinds, cursor)
elif member_code in ['delete']:
delete_member.management(id, password, email, member_kinds, cursor)
elif member_code in ['get']:
get_member.management(id, password, email, member_kinds, cursor)
except Exception as e:
print(e)
api.add_resource(MemberManagementSystem, '/')
database.py
import pymysql.cursors
select_stmt = "SELECT * FROM members WHERE id=%s"
def connect():
conn = pymysql.connect(host="localhost", user="root", password="123456", db="mysql", charset="utf8", cursorclass=pymysql.cursors.DictCursor, autocommit=True)
cur = conn.cursor()
return cur
def insert_member(id, password, email, member_kinds, cursor):
cursor.execute(select_stmt, (id))
if cursor.rowcount == 0:
cursor.execute("INSERT INTO members VALUES(default, %s, %s, %s, %s)", (id, password, email, member_kinds))
else:
result = cursor.fetchone()
cursor.execute("UPDATE members SET password=%s, email=%s, member_kinds=%s WHERE id=%s", (password, email, member_kinds, result["id"]))
cursor.connection.commit()
return cursor
def get_member(id, password, email, member_kinds, cursor):
cursor.execute(select_stmt, (id))
return cursor.fetchone()
def update_member(id, password, email, member_kinds, cursor):
cursor.execute(select_stmt, (id))
if cursor.rowcount != 0:
result = cursor.fetchone()
cursor.execute("UPDATE members SET password=%s, email=%s, member_kinds=%s WHERE id=%s",
(password, email, member_kinds, result["id"]))
cursor.connection.commit()
return cursor
def delete_member(id, password, email, member_kinds, cursor):
cursor.execute(select_stmt, (id))
if cursor.rowcount != 0:
result = cursor.fetchone()
cursor.execute("DELETE FROM members WHERE id=%s", result["id"])
new_member.py
from api import database
def management(id, password, email, member_kinds, cursor):
insert_member = database.insert_member(id, password, email, member_kinds, cursor)
update_member.py
from api import database
def management(id, password, email, member_kinds, cursor):
update_member = database.update_member(id, password, email, member_kinds, cursor)
delete_member.py
from api import database
def management(id, password, email, member_kinds, cursor):
delete_member = database.delete_member(id, password, email, member_kinds, cursor)
get_member.py
from api import database
def management(id, password, email, member_kinds, cursor):
get_member = database.get_member(id, password, email, member_kinds, cursor)
postman request
'Python-Framework > Python-Framework__Flask' 카테고리의 다른 글
서버에서 flask path 깨질때 (0) | 2019.10.21 |
---|---|
Flask api query string (0) | 2019.09.25 |
flask_restful (0) | 2019.07.24 |
Flask pymysql + RestApi (0) | 2019.04.26 |
flask에서 html 페이지 띄우기 (0) | 2019.03.20 |