三、Django连接Mysql和简单的使用

目录

1.在MySQL中创建好数据库,Django项目不会创建数据库,只会根据models.py中的模型类创建对应的表。

2.修改settings.py中原有的数据库配置

3.找到项目文件下或app(应用程序)下的__init__.py 配置成MySQL

4.在对应的app(应用程序)下的 models.py 文件中编写数据库表对应的类

5.数据库迁移和同步

6.sql基本操作

Django创建的项目自带的数据库是SQLite3,我们想要链接MySQL的话,需要更改settings.py中的配置。

1.在MySQL中创建好数据库,Django项目不会创建数据库,只会根据models.py中的模型类创建对应的表。

2.修改settings.py中原有的数据库配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',#库名
        'USER': 'root',#用户名
        'PASSWORD':'xxxxxx',#密码
        'HOST':'127.0.0.1',
        'POST':'3306',
    }
}

3.找到项目文件下或app(应用程序)下的__init__.py 配置成MySQL

import pymysql

# 将数据库引擎调整为MySQL
pymysql.install_as_MySQLdb()

4.在对应的app(应用程序)下的 models.py 文件中编写数据库表对应的类

from django.db import models

# Create your models here.
class test_mysql(models.Model): #test_mysql就是表名,会自动创建这场表
    # AutoField 表示是int数据类型,primary_key 表示主键,null表示是否可为null
    id = models.AutoField(primary_key=True,null=False)
    # CharField 表示varchar数据类型,必须给 max_length 赋值,表示字符长度
    addr = models.CharField(max_length=255,null=False)

这里运用的就是ORM对象关系映射,ORM(Object Relational Mapping) 对象关系映射:通过使用描述对象和数据库之间映射的方式,将面向对象语言程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式,通俗来讲,能够让一个不会数据库操作的小白也能通过Python面向对象语法,句点符(对象.属性)来简单快捷的操作数据。

5.数据库迁移和同步

在cmd或pycharm中的Terminal窗口执行数据库迁移(同步)命令,这一步会自动创建一些操作记录表

# 将对数据库的操作记录到项目中的migrations文件夹下的文件中,此时并没有同步到到数据库
python3 manage.py makemigrations

执行到这里报错,pymysql和MysqlClient版本不一致django.core.exceptions.ImproperlyConfigured,降低Django版本到4.1.7解决

将对数据库的操作同步到MySQL中,这一步会自动创建models中写好的表

python3 manage.py migrate

一定要在对应的项目文件下执行这两条命令,这两条命令一般情况下,是成对出现的,缺一不可,在开发过程中,只要修改了models.py 中跟数据库相关的代码,就必须重新执行这两命令,以保证数据库中的记录跟models.py中一致。

6.sql基本操作

#增
test_mysql.objects.create(id='1',addr='a') #test_mysql为models中对应的表名,括号内为对应表中的字段和值

#删
test_mysql.objects.filter(id='2').delete()

#改
test_mysql.objects.filter(id='1').update(addr='hh')

#查 filter返回的是QuerySet集合,需要遍历拿到对应的值
database_addr = test_mysql.objects.filter(id='1')
for da in database_addr:
    test_value = da.addr

下一章:

四、Django编写简单的接口实现前后端交互_郝家伙~的博客-CSDN博客

参考:django连接mysql查询获取数据_Django 链接MySQL及数据操作_陈奶爸-短视频的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Django 是一个流行的 Python Web 框架,它提供了许多便捷的功能和库来简化 Web 开发。在 Django 中,你可以使用 MySQL 数据库进行数据存储和操作。 要使用 Django 连接 MySQL 数据库,首先需要安装 DjangoMySQL 的 Python 驱动程序。你可以通过 pip 命令来安装它们: ``` pip install Django pip install mysqlclient ``` 安装完成后,你需要在 Django 项目的设置文件中配置数据库连接。打开项目的 settings.py 文件,找到 DATABASES 部分,并进行如下配置: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'your_database_name', 'USER': 'your_username', 'PASSWORD': 'your_password', 'HOST': 'your_host', 'PORT': 'your_port', } } ``` 将上述配置中的 "your_database_name" 替换为你的数据库名称,"your_username" 替换为数据库的用户名,"your_password" 替换为数据库密码,"your_host" 替换为数据库主机地址,"your_port" 替换为数据库端口号。 配置完成后,你可以使用 Django 提供的 ORM(对象关系映射)来操作 MySQL 数据库。首先,在你的 Django 应用中创建一个模型类,定义数据表的结构和字段。例如,下面是一个简单的示例模型类: ```python from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=100) publication_date = models.DateField() def __str__(self): return self.title ``` 定义好模型类后,运行以下命令来创建数据库表: ``` python manage.py makemigrations python manage.py migrate ``` 现在,你就可以在代码中使用该模型类来进行数据库操作了。例如,创建一条新的书籍记录: ```python book = Book(title='Django for Beginners', author='John Doe', publication_date='2021-01-01') book.save() ``` 查询书籍记录: ```python books = Book.objects.all() for book in books: print(book.title) ``` 更新书籍记录: ```python book = Book.objects.get(title='Django for Beginners') book.author = 'Jane Smith' book.save() ``` 删除书籍记录: ```python book = Book.objects.get(title='Django for Beginners') book.delete() ``` 这只是 Django 操作 MySQL 数据库的基本示例,你还可以使用更多高级的查询和操作方法。详细的文档可以在 Django 官方网站上找到:https://docs.djangoproject.com/

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值