如何使用 pymysql (python 3.5) 使用 mysql 配置 django
how to configure django with mysql using pymysql (python 3.5)
在 ubuntu(16.04) venv 中使用 python 3.5.2 使 mysql(5.6) 与 django (1.11) 连接有很多问题。我正在尝试使用 pymysql,因为它适用于 Flask 应用程序,但还不适用于 Django。 mysql客户端安装失败并且有其他依赖项(我阅读了 django 文档是的)所以宁愿避免使用该模块。这真的应该有效,因为它在烧瓶中完美无缺地工作,而其他人似乎也能正常工作。这是我尝试并发现的内容:
# first steps
pip install pymysql
mysql -u root -p
CREATE DATABASE djang0 CHARACTER SET utf8 COLLATE utf8_bin;
# manage.py
try:
import pymysql
pymysql.install_as_MySQLdb()
except ImportError:
pass
# settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djang0',
'USER': 'root',
'PASSWORD': 'mypasswd',
'HOST': '',
'PORT': '3306',
}
}
# current models.py Post class for blog
class Post(models.Model):
title = models.CharField(max_length=140)
body = models.TextField()
date = models.DateTimeField()
image = models.ImageField(upload_to='uploads', blank=True)
# error - full here https://dpaste.de/vtEH
[Thu Apr 27 18:58:00.010964 2017] [wsgi:error] [pid 22811:tid 3049028416] [remote 192.168.0.3:52267] django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'.
[Thu Apr 27 18:58:00.010967 2017] [wsgi:error] [pid 22811:tid 3049028416] [remote 192.168.0.3:52267] Did you install mysqlclient or MySQL-python?
不得不使用依赖,pip install mysqlclient。嘘
在 ubuntu(16.04) venv 中使用 python 3.5.2 使 mysql(5.6) 与 django (1.11) 连接有很多问题。我正在尝试使用 pymysql,因为它适用于 Flask 应用程序,但还不适用于 Django。 mysql客户端安装失败并且有其他依赖项(我阅读了 django 文档是的)所以宁愿避免使用该模块。这真的应该有效,因为它在烧瓶中完美无缺地工作,而其他人似乎也能正常工作。这是我尝试并发现的内容:
# first steps
pip install pymysql
mysql -u root -p
CREATE DATABASE djang0 CHARACTER SET utf8 COLLATE utf8_bin;
# manage.py
try:
import pymysql
pymysql.install_as_MySQLdb()
except ImportError:
pass
# settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djang0',
'USER': 'root',
'PASSWORD': 'mypasswd',
'HOST': '',
'PORT': '3306',
}
}
# current models.py Post class for blog
class Post(models.Model):
title = models.CharField(max_length=140)
body = models.TextField()
date = models.DateTimeField()
image = models.ImageField(upload_to='uploads', blank=True)
# error - full here https://dpaste.de/vtEH
[Thu Apr 27 18:58:00.010964 2017] [wsgi:error] [pid 22811:tid 3049028416] [remote 192.168.0.3:52267] django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'.
[Thu Apr 27 18:58:00.010967 2017] [wsgi:error] [pid 22811:tid 3049028416] [remote 192.168.0.3:52267] Did you install mysqlclient or MySQL-python?
不得不使用依赖,pip install mysqlclient。嘘