Google App Engine(이하 gae) 사용시 local mysql 연동에 문제가 좀 있더군요. 이리 저리 자료를 찾아서 정리를 했습니다.
파일다운로드 URL :
http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python
app.yaml 추가
libraries:
- name: MySQLdb
version: "latest"
샘플 소스
import MySQLdb
CLOUDSQL_INSTANCE = '127.0.0.1' #localhost라고 하면 연결이 안되네요
DATABASE_NAME = 'database'
USER_NAME = 'root'
PASSWORD = '비밀번호'
def get_connection():
kwargs = {
'db': DATABASE_NAME,
'user': USER_NAME,
'passwd': PASSWORD,
'port': 3306,
'charset': 'utf8' #없으면 한글이 깨집니다.
}
return MySQLdb.connect(CLOUDSQL_INSTANCE, **kwargs)
class DbHandler(BaseHandler):
def get(self):
# Viewing guestbook
conn = get_connection()
cursor = conn.cursor()
cursor.execute('SELECT idx, code, level FROM user_group '
'ORDER BY created_at DESC limit 20')
rows = cursor.fetchall()
conn.close()
template_values = {"rows": rows}
self.templates('test/test.html', **template_values);
app = webapp2.WSGIApplication([
('/db', DbHandler),
], debug=True)