У меня есть функция Django views.py с именем getpos, которая обслуживается apache2 и wsgi.py.Если я запускаю точно такой же код из моего views.py в обычном сеансе Python из командной строки Ubuntu, соединение 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 в командной строке, но не в файле views.py с Django?Спасибо.
Я попытался использовать "127.0.0.1" вместо "localhost", но, похоже, ничего не работает.Я ценю любую помощь, спасибо!