最近开始学习Django,开发环境为Win10 + Python3.7 + Django2.1 + MySQL8.0。本篇文章记录在配置过程中碰到的各种问题以及解决方法。
一. 安装开发环境
1. 安装Python
到官网 https://www.python.org/downloads/ 下载需要的版本进行安装。
2. 安装Django
pip install Django
3. 安装MySQL
到官网 https://www.mysql.com/downloads/ 下载需要的版本进行安装。
二. 安装依赖项
Django连接MySQL需要依赖以下库:pymysql, mysqlclient。安装方法如下:
pip install pymysql
pip install mysqlclient (如果执行失败就参考后面的解决方法)
注意: 在安装mysqlclient时有可能会报以下错误:
- 需要Microsoft Visual C++ 14.0编译环境。解决方法为安装Microsoft Visual Studio 15.0。
- 提示找不到"mysql.h"头文件。目前还未深入研究如何破解此问题。
提示: 解决安装mysqlclient失败最简单的方法如下:
- 访问网站 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载与对应Python版本匹配的mysqlclient的windows二进制安装包(比如 mysqlclient‑1.3.13‑cp37‑cp37m‑win32.whl)
- 运行以下命令安装此二进制包
pip install mysqlclient‑1.3.13‑cp37‑cp37m‑win32.whl
测试开发环境
1. 创建Django项目
django-admin startproject helloworld
2. 修改数据库配置
修改项目文件夹下settings.py文件中的数据库的配置文件,如下:
DATABASES = \
{
'default':
{
'ENGINE': 'django.db.backends.mysql',
'NAME': 'leon', #数据库的名字
'USER': 'root', #登录数据库的用户名
'PASSWORD': 'password', #登录数据库的密码
'HOST': 'localhost', #数据库的IP地址
'PORT': '3306', #数据库的端口
}
}
3. 重要步骤:将pymysql转换为MySQLdb
修改项目文件夹下的__init__.py文件,在其中加入以下代码:
import pymysql
pymysql.install_as_MySQLdb()
如果不做以上转换,为Django还是无法连接MySQL数据库。详情看考以下链接中的说明: https://blog.csdn.net/jerry81333/article/details/60664922
4. 同步数据库
manage.py makemigrations
manage.py migrate
三. 常见问题
-
执行manage migrate时报告“是否安装了mysqlclient”的错误
参考上述的内容安装mysqlclient -
执行manage migrate时报连接MySQL失败的错误
a. 检查数据库是否正常运行
b. 检查地址,端口,登录信息,数据库名等信息是否正确
c. 检查是否将pymysql转换为MySQLdb
d. 可运行以下代码检查Python连接MySQL数据库是否正常
import pymysql
db = pymysql.connect("localhost", "root", "password", "leon" )
cursor = db.cursor()
cursor.execute("SELECT VERSION()")
data = cursor.fetchone()
print ("Database version : %s " % data)
db.close()
- 其他问题