Django mysqlclient安装和使用详解


Posted in Python onSeptember 17, 2020

一、安装mysqlclient

网上看到很过通过命令:pip install mysqlclient 进行安装的教程,但是我却始终安装失败,遇到的错误千奇百怪,后来通过自己下载mysqlclient客户端终于安装成功;

首先打开网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/并找到下面图中的内容部分:

Django mysqlclient安装和使用详解

根据自己的需要,我选择的是最下边的cp38(目测cp38应该是C++版本,下载下来的文件通过pip install 进行安装的时候会进行c++编译,如果你的电脑(我是Windows)上没有安装VC++,那么找个新版本的安装一下即可:https://support.microsoft.com/zh-cn/help/2977003/the-latest-supported-visual-c-downloads)记住如果没有C++,就先安装C++这个;

下载好mysqlclientt之后如下(只要下载1个,我系统是64位,所以先下载的64位的,结果用不了,所以又下载了32位的才成功,所以建议先下载32位的试试):

Django mysqlclient安装和使用详解

打开控制台(开始->运行->cmd):

第一步:cd 到下载的mysqlclient文件所在的目录:cdC:\Users\Yeat\Downloads\mysqlclient

第二步:执行安装命令:pip installmysqlclient-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

1.进入项目工程目录执行命令:django-admin startapp TcesApp,我的完整命令是:C:\Users\Yeat\PycharmProjects\untitled>django-admin startapp TcesApp,前面的部分是我的工程目录路径;

2.命令执行完毕后工程里会增加TcesApp目录如图:

Django mysqlclient安装和使用详解

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:

Django mysqlclient安装和使用详解

在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中添加app名称(上边的名称 django-admin startapp TcesApp 的名称):

Django mysqlclient安装和使用详解

6.还是在settings.py中修改DATABASES内容如下:

Django mysqlclient安装和使用详解

完整配置:

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中的前端页面:

Django mysqlclient安装和使用详解

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安装和使用详解

Django mysqlclient安装和使用详解

 到此这篇关于Django mysqlclient安装和使用详解的文章就介绍到这了,更多相关Django mysqlclient安装使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python使用wxpython开发简单记事本的方法
May 20 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
Jul 02 Python
使用pygame模块编写贪吃蛇的实例讲解
Feb 05 Python
TensorFLow用Saver保存和恢复变量
Mar 10 Python
基于numpy中数组元素的切片复制方法
Nov 15 Python
python生成器与迭代器详解
Jan 01 Python
python关于矩阵重复赋值覆盖问题的解决方法
Jul 19 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
Jul 23 Python
tensorflow如何批量读取图片
Aug 29 Python
决策树剪枝算法的python实现方法详解
Sep 18 Python
python图片剪裁代码(图片按四个点坐标剪裁)
Mar 10 Python
Python内置函数及功能简介汇总
Oct 13 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
Sep 29 #Python
Django返回HTML文件的实现方法
Sep 17 #Python
Pycharm新手使用教程(图文详解)
Sep 17 #Python
Django修改app名称和数据表迁移方案实现
Sep 17 #Python
Python request中文乱码问题解决方案
Sep 17 #Python
python如何使用腾讯云发送短信
Sep 17 #Python
通俗易懂了解Python装饰器原理
Sep 17 #Python
You might like
解决phpmyadmin 乱码,支持gb2312和utf-8
2006/11/20 PHP
自动生成文章摘要的代码[PHP 版本]
2007/03/20 PHP
php与java通过socket通信的实现代码
2013/10/21 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
jquery异步请求实例代码
2011/06/21 Javascript
js中根据字数截取字符串,不能截断url
2012/01/12 Javascript
windows系统下简单nodejs安装及环境配置
2013/01/08 NodeJs
jquery中邮箱地址 URL网站地址正则验证实例代码
2013/09/15 Javascript
jquery+css3实现会动的小圆圈效果
2016/01/27 Javascript
AngularJs自定义服务之实现签名和加密
2016/08/02 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
详解angular2封装material2对话框组件
2017/03/03 Javascript
详解vue-resource promise兼容性问题
2017/06/20 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
为vue项目自动设置请求状态的配置方法
2019/06/09 Javascript
python基础教程之简单入门说明(变量和控制语言使用方法)
2014/03/25 Python
Python中os.path用法分析
2015/01/15 Python
利用python生成一个导出数据库的bat脚本文件的方法
2016/12/30 Python
Django csrf 验证问题的实现
2018/10/09 Python
python调用c++ ctype list传数组或者返回数组的方法
2019/02/13 Python
75条笑死人的知乎神回复,用60行代码就爬完了
2019/05/06 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
造型师求职自荐信
2013/09/27 职场文书
银行出纳岗位职责
2013/11/25 职场文书
毕业生自我鉴定
2013/12/04 职场文书
甜品店的创业计划书范文
2014/01/02 职场文书
新年团拜会主持词
2014/04/02 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
抗洪救灾感谢信
2015/01/22 职场文书
毕业设计论文致谢词
2015/05/14 职场文书
党支部鉴定意见
2015/06/02 职场文书
同意报考公务员证明
2015/06/17 职场文书
nginx里的rewrite跳转的实现
2021/03/31 Servers
zabbix配置nginx监控的实现
2022/05/25 Servers