这是我第一次使用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]拒绝连接)”)
我认为这与数据库配置中的HOST
和PORT
有关,我不知道我应该在这些中添加什么,是否与MySQL,PythonAnywhere有关甚至是我自己的域名?如何解决此问题并使用Django 3.5正确设置MySQL?
答案 0 :(得分:2)
查看this指南。我用它来部署我的webapp。
答案 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
}
}