如何在pythonanywhere上设置Django MySQL数据库?

时间:2017-02-22 18:39:10

标签: python mysql django

这是我第一次使用MySQL而不是SQLite3部署网站,所以我对此非常陌生,在阅读了一些文档之后我发现我必须更改一些这样的文件:

settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'my_site_db',
        'USER': 'username',
        'PASSWORD': 'password',
        'HOST': '?', #currently using pythonanywhere (not on localhost)           
        'PORT': '?',  
    }
}

manage.py

try:
    import pymysql
    pymysql.install_as_MySQLdb()
except:
    pass

(PyMySQL == 0.7.10,Django 1.9,Python 3.5)

当我使用python manage.py migrate运行Bash控制台时,收到以下错误消息:

  

django.db.utils.OperationalError:(2003,“无法连接到'localhost'上的MySQL服务器([Errno 111]拒绝连接)”)

我认为这与数据库配置中的HOSTPORT有关,我不知道我应该在这些中添加什么,是否与MySQL,PythonAnywhere有关甚至是我自己的域名?如何解决此问题并使用Django 3.5正确设置MySQL?

2 个答案:

答案 0 :(得分:2)

查看this指南。我用它来部署我的webapp。

enter image description here

答案 1 :(得分:0)

您可以通过这种方式使用

用户名: johndoe

数据库名称:社交数据库

主机: xyz.mysql.pythonanywhere-services.com

用户: johndoe

名称::johndoe $ socialdatabase

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'my_site_db', # Username$database name
    'USER': 'username', #Username:
    'PASSWORD': 'password',
    'HOST': '?', # Database host address           

}
}