django操作mysql
连接mysql
1、安装pymysql
操作指令 : pymsql: pip install pymysql
2、导入库
在项目目录下的__init__.py文件中导入pymysql模块
加入以下两行代码:
import pymysql
pymysql.install_as_MySQLdb()
3、在setting中的databases中配置mysql的连接
'ENGINE': 'django.db.backends.mysql', # 设置驱动
'NAME':库名, # 设置数据库名
'USER':'root', # 设置用户名
‘PASSWORD':密码, # 设置密码
'HOST':主机地址, # 设置主机地址
'PORT':3306, # 设置端口号
4、执行迁移
python manage.py makemigrations
python manage.py migrate
5、连接mysql数据库
点击database --- + -----data source ----数据库类型(如:mysql) ----- 设置 账号,密码,主机,(注意: 如果对mysql设置远程连接,
要使用远程连接的账号密码) ----test connect ---- ok 即可
操作mysql
1、创建一个表
需要在model模块中创建一个类,该类继承models.Model
例:
- class Person(models.Model):
- p_name = models.CharField(max_length=20, null=False, unique=True)
- p_age = models.IntegerField(default=10)
- p_sex = models.BooleanField(default=True)
表名默认为 应用名_类名
注:在右侧detabase处可以看到自己创建的表
注:在创建的类中添加
class Meta:
db_table = "表名" 修改表名
可以修改创建的表的名字
例:
- class Person(models.Model):
- p_name = models.CharField(max_length=20, null=False, unique=True)
- p_age = models.IntegerField(default=10)
- p_sex = models.BooleanField(default=True)
- class Meta:
- db_table = "Person"
修改完成后,执行迁移
若要修改表的字段名,则更改定义的类中的属性之后迁移即可
2、增加一个数据
步骤:
①.创建一个对象
②.设置属性
③.保存数据
④.对象名.save()
例:
- from django.shortcuts import render
- from day02.models import Person
- import random
- # Create your views here.
- def insertPerson(request):
- # 创建一个对象
- person = Person()
- # 设置属性
- person.p_name = "王" + str(random.randint(1, 100))
- person.p_age = random.randint(1, 100)
- person.p_sex = random.randint(0, 1)
- # 保存数据
- person.save()
设置url
在项目的urls中添加 url("应用名",include("应用名.urls"))
注:需import 应用名
- from django.conf.urls import url, include
- from django.contrib import admin
- import day02
- urlpatterns = [
- url(r'^admin/', admin.site.urls),
- url(r'^day02/', include(day02.urls)),
- ]
注:须在应用的目录中创建一个urls.py文件,可以将项目中的urls中的内容复制过去
- from django.conf.urls import url
- from django.contrib import admin
- urlpatterns = [
- url(r'^admin/', admin.site.urls),
- ]
在应用中的urls中添加路径
- from django.conf.urls import url
- from django.contrib import admin
- from day02 import views
- urlpatterns = [
- url(r'^admin/', admin.site.urls),
- url(r'insertPerson', views.insertPerson),
- ]
激活服务器,在浏览器中输入地址即可成功添加数据
查看插入的表
3、删除一个数据
用变量获取匹配到的数据
格式:变量.delete() # 删除数据
- def delPerson(request):
- person = Person.objects.filter(p_name="王66").first() # 用变量person接收获取到的对象
- person.delete()
- return HttpResponse("删除成功")
在应用的urls中添加路径
url(r'delPerson',views.delPerson)
激活服务器,并操作,
成功删除
4、修改数据
格式:对象名.属性名 = 值
对象名.save()
例:首先插入一条数据
修改数据的属性值
- def updatePerson(request):
- person = Person.objects.filter(p_name="王30").first()
- person.p_name = "王小明"
- person.p_age = 18
- person.p_sex = 0
- person.save()
- return HttpResponse("修改成功")
在urls中添加路径
url(r'updatePerson', views.updatePerson),
运行服务器
修改成功
5、查询数据
格式: 类名.objects.方法
例:多插入几条数据
在应用的views中添加代码
- def queryPerson(request):
- persons = Person.objects.all()
- return render(request, "Persons.html", context={"persons":persons})
在templates中创建Persons.html文件
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- </head>
- <body>
- <ul>
- {% for person in persons %}
- <li>name:{{ person.p_name }} age:{{ person.p_age }}</li>
- {% endfor %}
- </ul>
- </body>
- </html>
在urls中添加路径
启动服务器
成功查询表格中的数据
注:这里只介绍了查询所有数据的方法
django操作mysql的更多相关文章
- Django静态文件配置 request对象 Django操作MySQL
Django中的文件介绍 render.HttpResponse和redirect 当我们想起手写一个项目,创建好应用并且注册之后,在urls.py文件先导入app文件夹下migrations下的vi ...
- Django 操作Mysql数据库
pip安装mysqlclient sudo ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config sudo pip i ...
- django MVC模式 数据库的操作mysql
介绍:本节课我们继续学习djangoWEB框架的开发,这节课主要是学习如何访问数据库,django如何自动为我们创建好表结构等相关内容. 1.首先我们打开settings.py找到DATABASES关 ...
- django连接mysql数据库以及建表操作
django连接mysql数据库需要在project同名的目录下面的__init__.py里面加入下面的东西 import pymysql pymysql.install_as_MySQLdb() 找 ...
- Django之mysql表单操作
在Django之ORM模型中总结过django下mysql表的创建操作,接下来总结mysql表记录操作,包括表记录的增.删.改.查. 1. 添加表记录 class UserInfo(models.Mo ...
- Django 链接MySQL及数据操作
Django 链接MySQL Django创建的项目自带的数据库是SQLite3,我们想要链接MySQL的话,需要更改settings.py中的配置 1.在MySQL中创建好数据库,Django项目不 ...
- python——django使用mysql数据库(二)
上一篇中,我们已经讲述了如何初始化一个django数据库,这一章就来讲讲在实际的项目中如何使用我们初始化的数据库呢? 如还未进行初始化数据库操作,请参考python——django使用mysql数据库 ...
- python——django使用mysql数据库(一)
之前已经写过如何创建一个django项目,现在我们已经有了一个小骷髅,要想这个web工程变成一个有血有肉的人,我们还需要做很多操作.现在就先来介绍如何在django中使用mysql数据库. 前提:已经 ...
- Django ajax MYSQL Highcharts<1>
Another small project with django/Ajax/Mysql/Highcharts. 看下效果图 - delivery dashboard .嘿嘿 是不是还蛮好看的. 废 ...
随机推荐
- 【计算机视觉】OpenCV篇(4) - Pycharm+PyQt5+Python小项目实战
1.下载安装 (1)Pycharm:下载链接 (2)推荐使用Qt Designer来设计界面,如果你装的是Anaconda的话,就已经自带了designer.exe,我这里使用的是Pycharm的虚拟 ...
- 【kubernetes secret 和 aws ecr helper】kubernetes从docker拉取image,kubernetes docker私服认证(argo docker私服认证),no basic auth credentials错误解决
aws ecr helper: https://aws.amazon.com/blogs/compute/authenticating-amazon-ecr-repositories-for-dock ...
- LODOP打印table表格宽度固定-超宽隐藏
之前有博文介绍关于超出div隐藏内容的:LODOP打印超过后隐藏内容样式里面提到了overflow:hidden;控制超出后隐藏,但是前面那篇用的是div,如果是在table中,由于table默认的t ...
- LODOP判断没成功发送任务-重打一下
一般情况下打印执行了PRINT()或PRINTA(),就会加入打印机队列,如果打印机脱机,就会在队列里排队,当打印机连上并取消脱机的时候,正在排队的任务就会打出,所以一般建议用是否加入队列来判断打印成 ...
- .Net Core 程序报错 在上一个操作完成之前,在此上下文上启动了第二个操作。
错误一: 程序完整报错: A second operation started on this context before a previous operation completed. This ...
- solr查询返回有中括号【可用】
看图 解决方法: 两个core名称一样就对了 有些版本的solr就是schema.xml文件 这个方法好像不行,再找找看,先记录一下 2019-06-29 改完上面后要重启加载一下core 先看一下
- 探索安卓热修复框架AndFix的奥秘
虽然阿里的AndFix框架已经出来很长时间了,但是还不了解它的同学依然挺多,接下来就跟着我一起来到AndFix的世界里一起看看,如何达到不用重新安装app就可以修复bug. 1.什么是AndFix? ...
- 在eNSP上简单的模拟企业网络场景(不同网段互连)
额..首先你要有eNSP工具和Wireshark抓包工具,没有的话可以上网搜索一下,最好下载最新版本的,新版本中拥有更多型号的机器 这个实验我们主要模拟某公司购买了新的路由器和交换机.交换机S1连接客 ...
- JVM插码之六:jacoco插码及问题“$jacocodata 属性 Method not found: is$jacocoData”
在使用jacoco统计自动化代码覆盖率 jacoco统计自动化代码覆盖率 1. 简介1.1. 什么是JacocoJacoco是一个开源的代码覆盖率工具,可以嵌入到Ant .Maven中,并提供了Ecl ...
- 单源最短路——朴素Dijkstra&堆优化版
朴素Dijkstra 是一种基于贪心的算法. 稠密图使用二维数组存储点和边,稀疏图使用邻接表存储点和边. 算法步骤: 1.将图上的初始点看作一个集合S,其它点看作另一个集合 2.根据初始点,求出其它点 ...