一、安装pymysql

1. 查看已安装的第三方库的列表
   命令: pip list
  2. 如果没有pymysql这个第三方库,则安装(需要注意的是django2.2版本的暂时还不支持pymysql,所以如果使用的话,需要先降到2.1版本,不然可能会报错,如果报错,请查看我上一篇的解决办法)
   命令:pip install django==2.1.0
   命令:pip install pymysql
  
  3. 安装成功后的第三方库

二、在主项目的文件中设置连接

1. 在项目主目录下的init文件中添加下面两句代码

import pymysql  # 导入第三方模块,用来操作mysql数据库pymysql.install_as_MySQLdb()

需要注意的是,如果你import pymysql的时候下面有红线,并且你已经在你使用的python虚拟环境中安装好了pymysql模块,那么你可以重新打开一下你的项目:点击一下 File—> close project ----> 然后再打开你使用的项目,这时import 导入pymysql就不会报错了。

2. 在settings文件中设置数据库连接

DATABASES = {'default': {# python自带的一个数据库,基本不会被使用# 'ENGINE': 'django.db.backends.sqlite3',# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),# 注册我们自己使用的数据库连接'ENGINE': 'django.db.backends.mysql',  # 数据库引擎'NAME': 'mydb', #数据库名称'USER':'admin', # 连接数据库的用户名称'PASSWORD':'Root110qwe',  # 用户密码'HOST':'192.168.152.154', # 访问的数据库的主机的ip地址'PORT':'3306', # 默认mysql访问端口}
}

需要注意的是,host需要写成你的数据库所在的主机或虚拟机的ip地址,如果是在本机上或者是virtualbox中设置了端口转发可以使用127.0.0.1即可。

三、创建数据库模型类

1. 创建模型类(找到你需要使用模型的项目中的任意app的目录下的models文件)

from django.db import models# Create your models here.# 创建模型类
class  Meishi(models.Model):id = models.AutoField(primary_key=True)  # 该字段可以不写,它会自动补全food_name = models.CharField(max_length=30) # 设置食物名称food_author = models.CharField(max_length=8) # 设置食物制作人food_money = models.FloatField()  # 设置食物价格food_star = models.CharField(max_length=10,default='普通') # 设置食物美味程度def __str__(self):  # 重写直接输出类的方法return "<Meishi:{id=%s,food_name=%s,food_author=%s,food_money=%s,food_star=%s}>"\%(self.id,self.food_name,self.food_author,self.food_money,self.food_star)

2. 将我们创建好的模型类映射到数据库

a:

直接在命令行执行命令 : python manage.py makemigrations 或 python manage.py makemigrations app_name

可以指定你的项目中的app的名字;也可以不指定,直接映射该项目中全部的app中的表模型

b:

在pycharm中运行 Run manage.py Task 然后输人makemigrations 或 makemigrations app_name 同上面的效果是一样的


3. 将我们映射的数据表真正在数据库中创建的对应的表

a:

直接在命令行执行命令 : python manage.py migrate 或 python manage.py migrate app_name

可以指定你的项目中的app的名字;也可以不指定,直接创建项目中所有app下映射好的表

b:

在pycharm中运行 Run manage.py Task 然后输人migrate 或 migrate app_name 同上面的效果是一样的


现在我们在数据库中就可以看到我们创建的表了,效果图如下:
   

数据库中创建的表的名称是以项目中app的名称+我们自己创建的表的模型类的类名组合成的。

可以通过desc 表名的命令查看表结构就是我们在模型类中设置的表结构:

四、创建好对数据库增删改查的视图渲染方法

1. 在项目使用的app目录下的views.py文件中写增删改查的方法

from django.shortcuts import render        # 可以用来返回我们渲染的html文件
from django.http import HttpResponse       # 可以返回渲染的页面
from .models import Meishi                 # 导入我们的模型类
# Create your views here.# 添加数据方法
def add_food(request):# 第一种方式插入数据tcpg = Meishi(food_name='糖醋排骨',food_author='一一',food_money=25,food_star='美味')tcpg.save()   # 一定要记得保存,不然数据无法插入进去# 第二种方式插入数据lzj = Meishi()lzj.food_name = '辣子鸡'lzj.food_author = '张三'lzj.food_money = '30'lzj.food_star = '超级美味'lzj.save()   # 一定要记得保存,不然数据无法插入进去# 第三种方式插入数据(该方法不需要保存,会自动保存)sltds = Meishi.objects.create(food_name='酸辣土豆丝',food_author='一一',food_money=25,food_star='美味')# 第四种方式插入数据(该方法不需要保存,且不会插入重复数据)clbc = Meishi.objects.get_or_create(food_name='醋溜白菜',food_author='李四',food_money=25,food_star='很美味')return HttpResponse("添加数据成功")# 查询数据方法
def select_food(request):# 查询表中的所有数据rs = Meishi.objects.all()print(rs)# 根据筛选条件查询出表中的单挑数据(注意如果条件查询出多条数据,使用该语句会报错)rs1 = Meishi.objects.get(food_name='醋溜白菜')print(rs1)# 根据筛选条件查询出表中的数据(可查询出多条)rs2 = Meishi.objects.filter(food_author="一一")rs2 = list(rs2)print(rs2)return HttpResponse("查询数据成功")# 更新数据方法
def update_food(request):# 根据条件查询后再修改再保存clbc = Meishi.objects.get(food_name='醋溜白菜')clbc.food_star = '难吃'clbc.save()# 直接修改所有的数据Meishi.objects.all().update(food_star='美味')return HttpResponse("修改数据成功")# 删除数据方法
def delete_food(request):Meishi.objects.get(id=1).delete()return HttpResponse("删除数据成功")

2. 在项目中对应app下的urls文件中配置对应的路由

from django.urls import path,include  # path设置我们的路由,include可以设置我们的分路由
from . import views  # 将我们写好的views文件导入urlpatterns = [   # 我们这个app的所有路由都会写在这个文件下path("add_food/",views.add_food),path("select_food/",views.select_food),path("update_food/",views.update_food),path("delete_food/",views.delete_food),
]

五、前端显示

这个时候我们通过我们设置的路由即可对数据库中的表进行增删改查操作:
http://127.0.0.1:8000/add_food/
http://127.0.0.1:8000/select_food/
http://127.0.0.1:8000/update_food/
http://127.0.0.1:8000/delete_food/

Django连接mysql数据库浅析相关推荐

  1. python Django 连接mysql数据库创建表详细全过程

    python Django 连接mysql数据库创建表详细全过程 1,在数据库中新建一个要连接的数据库(在cmd命令行里登录数据库进行创建创建) mysql -u root -p**+密码** cre ...

  2. Python Web开发框架之Django篇——二、Django连接MySQL数据库以及建表的操作

    二.Django连接MySQL数据库以及建表的操作 准备工作:安装Python访问MySQL的模块 一.修改project同名目录下面的__init__.py文件 二.修改project同名目录下面的 ...

  3. django连接mysql数据库_Django学习笔记(4)——Django连接数据库

    前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...

  4. Django连接mysql数据库步骤非常详细

    一.修改数据库连接 打开项目,在settings.py文件中是否有以下内容: 以上内容是创建django项目的时候是自动创建的.这个是告诉你,django默认连接sqllite.ENGINE:是指连接 ...

  5. Django连接mysql数据库步骤(小白篇)

    一.修改数据库连接 打开项目,在settings.py文件中是否有以下内容: 以上内容是创建django项目的时候是自动创建的.这个是告诉你,django默认连接sqllite.ENGINE:是指连接 ...

  6. django2 mysql驱动_Django框架学习(二)Django连接Mysql数据库,实现表的增删改查

    创建一个Django项目 方法: 1.使用 django-admin.py 管理工具来创建项目 2.用Pycharm专业版可以直接创建Django 项目 我直接用Pycharm创建的项目,比较简单,也 ...

  7. python3 django连接mysql 数据库

    详情参考: https://blog.csdn.net/weixin_33127753/article/details/89100552 https://imshusheng.com/python/2 ...

  8. django连接mysql步骤_使用Django连接Mysql数据库步骤

    链接mysql步骤 第一步:在终端下载pymysql文件–pip install pymysql 第二步:在gjango项目的__init__文件中添加代码 import pymysql pymysq ...

  9. Django连接mysql数据库操作

    Y12 1.创建工程 django-admin startproject django_3 2.创建app python manage.py startapp app1 3.Mysql数据库配置  ( ...

最新文章

  1. PCI BAR设置过程
  2. codeforces524E
  3. ubuntu15.10安装wireshark
  4. 使用SAP云平台的destination消费Internet上的OData service
  5. Java instead of 用法_我又不是你的谁--java instanceof操作符用法揭秘
  6. Datawale编程学习之哈希表和字符串(4)
  7. java opencv 计算滑块横移距离
  8. 还在愁csdn进不去吗,看这里
  9. 联想用u盘重装系统步骤_联想笔记本Y470 U盘重装系统过程教程
  10. 世界地图中国地图高清版
  11. 基于HTML5实现的在线3D虚拟试衣系统(试衣间)解决方案
  12. appium的滑动操作总结
  13. Elasticsearch:使用 Debian 软件包安装 Elasticsearch
  14. 360极速浏览器配置Chromedrive
  15. Ubuntu安装java的几种方式以及多个JAVA版本的切换
  16. 什么是rip协议其优缺点_ospf和rip 优缺点
  17. 遇到问题--mongodb--Prematurely reached end of stream
  18. 云服务器win系统开热点,云服务器win系统开热点
  19. Python编写程序,实现对输入字符串的大小写字母翻转(即大写变小写、小写变大写)操作
  20. 老马群控使用教程之连接设备【手机支架、集控器、USB线】

热门文章

  1. 开源可视化分析工具,操作简单使用方便,快来种草
  2. 如何更快地将string转换成int/long
  3. Redis面试突击专用
  4. 记一次 Spring Boot 项目启动卡住问题排查记录
  5. 永远不要在 MySQL 中使用“utf8”
  6. php打印pre,php 打印格式化显示利器 pre
  7. oracle显性游标,Oracle高级显式游标的使用
  8. mobilenetv2_unet
  9. pyqt 照片打上水印
  10. The NVIDIA driver on your system is too old