我有一个名为 getpos 的 Django views.py 函数,它由 apache2 和 wsgi.py 提供服务。如果我在 Ubuntu 命令行的普通 Python 会话中从我的 views.py 中运行完全相同的代码,MySQLdb 连接工作正常:
>>> import MySQLdb
>>> db = MySQLdb.connect(host="localhost",port=22,user="root",passwd="mypassword",db="gps")
>>>
>>> cursor = db.cursor()
如果我从 django 调试服务器运行它,它会失败:
ERROR: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)")
运行的代码是这样的:
def getpos(request):
query = "SELECT * FROM..."
# connect to the DB and return nearby deals
db = MySQLdb.connect(host="localhost",port=22,user="root",passwd="mypassword",db="gps")
cursor = db.cursor()
# Query the gps Data database
results = cursor.execute(query)
db.commit()
为什么我可以在命令行上从 Python 连接,但不能在 Django 的 views.py 文件中连接?谢谢。
我试过使用“127.0.0.1”而不是“localhost”,但似乎没有任何效果。我感谢任何帮助谢谢!
慕尼黑5688855
相关分类