【发布时间】:2017-09-26 01:10:42
【问题描述】:
在 ubuntu(16.04) venv 中使用 python 3.5.2 让 mysql(5.6) 与 django (1.11) 连接时遇到很多麻烦。我正在尝试使用 pymysql,因为它适用于烧瓶应用程序,只是还没有 django。 mysqlclient 安装失败并且有其他依赖项(我读过 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?
【问题讨论】:
标签: mysql django python-3.x mysql-python pymysql