【发布时间】:2016-11-10 19:59:01
【问题描述】:
我无法通过 Flask 连接 mysql 服务器。 我有 4 个文件:server.py、testDB.py、testDB2.py 和 init.py
首先,如果 init.py import testDB.py 并且我运行 python server.py,它将打印
changes in the database
* Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)
我的 user_info 表将有 user1。
但是,如果 init.py 导入 testDB2.py 并且我运行 python server.py,它只会打印
* Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)
我的 user_info 表不会出现 user2。
我该如何解决这个问题? testDb.py 和 testDB2.py 的区别是我在 testDB2.py 中定义了一个函数
初始化.py
from flask import Flask
app = Flask(__name__)
import testDB
server.py
from Sw import app
if __name__ == '__main__':
port = 8000
host = '0.0.0.0'
app.run(host = host, port = port)
testDB.py
import MySQLdb
db = MySQLdb.connect(host="127.0.0.1",user="root",passwd="1234",db="testdb")
cursor = db.cursor()
sql="""INSERT INTO user_info (user_id, user_email, user_password) VALUES ('user1','00000','000000')"""
try:
# Execute the SQL command
cursor.execute(sql)
# Commit your changes in the database
print "changes in the database"
db.commit()
except:
# Rollback in case there is any error
print "there is any error"
db.rollback()
db.close()
testDB2.py
import MySQLdb
def testDB():
db = MySQLdb.connect(host="127.0.0.1",user="root",passwd="1234",db="testdb")
cursor = db.cursor()
sql="""INSERT INTO user_info (user_id, user_email, user_password) VALUES ('user2','00000','000000')"""
try:
# Execute the SQL command
cursor.execute(sql)
# Commit your changes in the database
print "changes in the database"
db.commit()
except:
# Rollback in case there is any error
print "there is any error"
db.rollback()
db.close()
【问题讨论】:
-
需要调用
testDB2.py中的testDB函数。
标签: python mysql python-2.7 flask