mysql - 如何使用 pymysql (python 3.5) 使用 mysql 配置 django

标签 mysql django python-3.x mysql-python pymysql

在 ubuntu(16.04) venv 中使用 python 3.5.2 让 mysql(5.6) 连接到 django (1.11) 遇到很多麻烦。我正在尝试使用 pymysql,因为它适用于 Flask 应用程序,但还不适用于 Django。 mysqlclient 安装失败并且有其他依赖项(我读过 django 文档是的)所以宁愿避免使用该模块。这真的应该有效,因为它在 flask 中完美无缺地工作,而其他人似乎也能正常工作。这是我尝试并发现的:

# 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。嘘

关于mysql - 如何使用 pymysql (python 3.5) 使用 mysql 配置 django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43671340/

相关文章:

php - 将内容加载到应用程序的最佳方式

生产中的 Django : set DEBUG = False causes `Server Error (500)`

javascript - django找不到静态文件

python - 如何从数据库生日字段和 date.today() 计算确切的年龄?

python - 无法在单个连接中发送多个请求数据 — 套接字错误

python-3.x - 如何将我的 Kivy 客户端连接到服务器(TCP、套接字)

mysql - 至少一个 X 但没有 Ys 查询

mysql - 在 MySQL 中计算组合 ID,然后将其存储为库存

MySQL 错误 2006 MySQL 服务器在 Max OS X 10.8.3 上使用 Homebrew 软件升级到 5.6.10 后消失了

python - 如何在不更改任何默认值的情况下在 Ubuntu 上为 python 3.8 安装 pip?