제목은 맘대로 지었다.
파이썬 Flask에서 MySQL을 연결하고 DB에 새 정보를 INSERT하는 방법을 알아본다.
파이썬과 Flask를 어느 정도 안다는 가정하에 쓴다.(설명이 좀 불친절한지라...나또한 초보자라 틀린 내용이 있을 수 있음)
1)
이 문서를 찾은 사람들에게 당연히 MySQL DB가 있다는 가정하에,
일단 Flask 패키지가 필요하다.(뭐 이것도 당연히 있겠다만....Flask는 python3 버전에서 다소 불안정하기 때문에 웬만하면 python2.7로 하는 게 좋다.)
pip이나
pip install Flask
PyPI에서 받고
둘 다 안 받아진다 싶으면 구글링을 해서 쉽게 해결할 수 있다.
2)
별로 중요하지 않은 템플릿은 아래 제타위키라는 곳에서 받았다. Bootstrap을 사용했는데 공식홈페이지도 있긴하지만 이 소스가 더 한글에 최적화돼 있는 듯 하다.
기타 소스들은 입맛따라 알아서.
어차피 목표는 플라스크 웹으로 MySQL DB에 접근하는 것이니...
3)
일단 젤 먼저 웹앱을 실행시키는 app.py의 소스는 이렇다.
* 당연히 소스에서 MySQL에 접속하는 HOST나 USER 등은 본인 것으로 해야 한다.
* 버전에 따라 혹 없는 패키지가 있다면 구글링ㄱㄱ 대체재가 꽤 있다.
제일 중요한 부분은 여기. MySQL과 연결하는 부분이다.
cnx = connection.MySQLConnection(user='your_user_name', password='your_password',
host='your_host', database='your_database')
어디에서 오류가 나는지 알기 힘들다면 일단 연결만이라도 가능한지부터 확인해보기를 바란다.
4)
아래는 웹에서 쓰일 html 소스다.
코드가 너무 지저분해서 많이 생략했다. 위에서 언급한대로 본인 입맛대로 꾸며보길!
중요한 점은,
* <form action="/insert_result"> 을 잊지 말 것!
* <input> 텍스트에서 반드시 name 값을 줄 것!
여기다 값을 넣어보쟈
그리고 INSERT 버튼을 누르면 DB에 뿅하고 들어감
들어가는 데 성공하면 /insert_result 경로로 value1값을 시험으로 확인하게 해놨다.
templates 폴더에 insert_result.html 파일하나 만들고
<h1>{{value1}} inserted! </h1>
넣어주면 끝!
MySQL에 무사히 들어간 데이터!
ㅋㅋㅋㅋ들어갔는지도 불분명한 사진이지만...
회사 계정으로 연습해서 다른 부분을 넣을 수가 없다.
* 다시 말하지만 코드에서 생략한 부분이 많고 본인이 입력해야 하는 부분이 있어서 위 코드를 그대로 적용하면 안 된다.
* Flask는 서버 오류가 많이 나므로 로그를 꼭 찍어주도록 하자.
'개발 > python' 카테고리의 다른 글
[Python] BeautifulSoup로 YouTube에서 영상 정보를 크롤링 해보자 (10) | 2016.05.15 |
---|---|
Flask error logging 모듈 Werkzeug (0) | 2016.04.20 |
[Visual Studio 오류 해결] The item does not exist in the project directory. (0) | 2016.04.12 |
Azure에서 Flask 게시하기 (0) | 2016.03.18 |
python 쓸만한 사이트 모음 (0) | 2016.03.02 |
댓글