Django mysqlclient 安装与使用完整指南
本文详细讲解在 Windows 环境下为 Django 项目安装 mysqlclient 的替代方案,解决 pip 直接安装常见的编译错误。通过下载预编译 wheel 文件并指定版本进行本地安装,成功配置数据库连接。随后演示如何在 Django 中创建应用、定义 Model、注册 Admin、配置 settings.py 以及编写视图和 URL,实现 MySQL 数据的增删改查功能。
Django mysqlclient 安装指南
一、安装mysqlclient
网络上许多教程建议直接通过命令 pip install mysqlclient 进行安装,但实际操作中常因环境差异导致失败,报错信息繁杂。经过尝试,通过手动下载 mysqlclient 客户端文件的方式最终成功完成安装。
首先访问网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/ 并在页面中找到相关下载部分:

根据实际需求,我选择了列表底部的 cp38 版本(推测 cp38 对应 C++ 编译环境)。下载该文件后,使用 pip install 命令进行安装时会触发 C++ 编译过程。若你的电脑(以 Windows 为例)未安装 VC++ 编译器,需先下载并安装最新版的 Visual C++ 运行库(参考链接:https://support.microsoft.com/zh-cn/help/2977003/the-latest-supported-visual-c-downloads)。务必注意,若缺少 C++ 环境,请先完成安装。
下载 mysqlclient 文件后,界面显示如下(仅需下载一个文件):由于我的系统是 64 位,起初尝试下载 64 位版本但未能成功,随后改下载 32 位版本才安装成功。因此建议优先尝试下载 32 位版本进行测试:

打开控制台(开始菜单 -> 运行 -> 输入 cmd):
第一步:使用 cd 命令切换到下载 mysqlclient 文件的目录,例如:cd C:\Users\Yeat\Downloads\mysqlclient
第二步:执行具体的安装命令,指定下载的 wheel 文件名,例如:pip install mysqlclient-1.4.4-cp38-cp38-win32.whl
若安装成功,控制台将显示如下提示信息:
C:\Users\Yeat\Downloads>pip install mysqlclient-1.4.4-cp38-cp38-win32.whl Processing c:\users\yeat\downloads\mysqlclient-1.4.4-cp38-cp38-win32.whl Installing collected packages: mysqlclient Successfully installed mysqlclient-1.4.4
C:\Users\Yeat\Downloads>如果安装失败,可能会看到类似下图的错误提示:
C:\Users\Yeat>pip install mysqlclient‑1.3.13‑cp36‑cp36m‑win_amd64.whl WARNING: Requirement 'mysqlclient‑1.3.13‑cp36‑cp36m‑win_amd64.whl' looks like a filename, but the file does not exist ERROR: mysqlclient‑1.3.13‑cp36‑cp36m‑win_amd64.whl is not a valid wheel filename.
C:\Users\Yeat>pip install MySQL_python‑1.2.5‑cp27‑none‑win_amd64.whl WARNING: Requirement 'MySQL_python‑1.2.5‑cp27‑none‑win_amd64.whl' looks like a filename, but the file does not exist ERROR: MySQL_python‑1.2.5‑cp27‑none‑win_amd64.whl is not a valid wheel filename.
C:\Users\Yeat>pip install MySQL_python‑1.2.5‑cp27‑none‑win_amd64 ERROR: Invalid requirement: 'MySQL_python‑1.2.5‑cp27‑none‑win_amd64'
C:\Users\Yeat>cd C:\Users\Yeat\Downloads
C:\Users\Yeat\Downloads>pip install MySQL_python-1.2.5-cp27-none-win_amd64.whl ERROR: MySQL_python-1.2.5-cp27-none-win_amd64.whl is not a supported wheel on this platform.
C:\Users\Yeat\Downloads>pip install mysqlclient-1.4.4-cp38-cp38-win_amd64.whl ERROR: mysqlclient-1.4.4-cp38-cp38-win_amd64.whl is not a supported wheel on this platform.
若遇到上述失败情况,请尝试更换下载的 mysqlclient 版本,这似乎是解决此类问题的有效途径。
Django 中使用 MySQL 数据库
二、在Django框架里使用mysql
1. 进入项目工程目录并执行命令:django-admin startapp TcesApp。我的完整操作路径为:C:\Users\Yeat\PycharmProjects\untitled>django-admin startapp TcesApp,其中前缀部分为我的工程目录路径;
2. 命令执行完毕后,工程目录中将新增 TcesApp 文件夹,结构如图所示:

3. 进入 models.py 文件,创建与数据库表相对应的 Model 对象。我的具体代码如下:
from django.db import models
class e_exams(models.Model):
ID = models.CharField(max_length=50),
ExamName = models.CharField(max_length=50)
ExamCode = models.CharField(max_length=50)
SceneID = models.CharField(max_length=50)
Creater = models.CharField(max_length=50)
CreateTime = models.DateTimeField()
State = models.CharField(max_length=50)
Field_Char1 = models.CharField(max_length=50)
Field_Char2 = models.CharField(max_length=50)
Field_Char3 = models.CharField(max_length=50)
class Meta:
db_table = 'e_exams' #数据表名称
我的表结构 e_exams 定义如下:

在 models.py 中,你可以创建多个表的 Model。
4. 在 admin.py 文件中注册上述 Model:
from django.contrib import admin
from . import models
# Register your models here.
admin.site.register(models.e_exams)
5. 在 setting.py 文件中添加应用名称(即上一步 django-admin startapp TcesApp 中指定的名称):

6. 同样在 settings.py 中修改 DATABASES 配置,内容如下:

完整配置示例:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'tces',
'USER': 'root',
'PASSWORD': 'Unity3du#d112233',
'HOST': 'nas.yeatsoft.com',
'PORT': '3306',
'OPTIONS': {
"init_command": "SET sql_mode='STRICT_TRANS_TABLES'",
}
}
}
其中 NAME 字段为你的数据库名称,HOST 为数据库地址,其他参数为常规配置。
7. 接下来在 views.py(或你自定义的 py 文件)中编写业务代码,重点查看 addExam 方法:
from django.http import HttpResponse
from django.shortcuts import render
from TcesApp.models import e_exams
def hello(request):
return HttpResponse('home page!')
def helloworld(request):
context = {}
context['value'] = 'hello world!'
return render(request, 'helloworld.html', context)
def addExam(request):
exam = e_exams()
exam.ID = '100001'
exam.SceneID = '1001',
exam.ExamName = '期末考试'
exam.save()
context = {}
context['value'] = exam.ExamName + '数据添加成功!'
return render(request,'helloworld.html',context)
其中 helloworld.html 是放置在 templates 目录下的前端页面:

context['value'] 的值将对应 HTML 页面中的 {{value}} 变量。
8. 在 urls.py 中添加路由路径,完整代码如下:
from django.contrib import admin
from django.urls import path
from . import home
urlpatterns = [
path('admin/', admin.site.urls),
path('home/', home.hello),
path('helloworld/', home.helloworld),
path('add/',home.addExam)
]
三、运行效果如下:



到此这篇关于 Django mysqlclient 安装和使用详解的文章就介绍到这了,更多相关 Django mysqlclient 安装使用内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













