Python MySQLdb работает из Python в командной строке, но не из Django Views.py - PullRequest
0 голосов
/ 09 декабря 2018

У меня есть функция 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", но, похоже, ничего не работает.Я ценю любую помощь, спасибо!

1 Ответ

0 голосов
/ 10 декабря 2018

Мне пришлось изменить свой порт в аргументе подключения на host = "localhost", port = 3306.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...