使用 Django 连接 MySQL 数据库

文章目录

    • 步骤一:安装必要的库和驱动
    • 步骤二:配置数据库连接
    • 步骤三:执行数据库迁移
    • 步骤四:开始使用 MySQL 数据库
      • 创建一个模型
      • 迁移模型到数据库
      • 使用模型进行数据操作
        • 创建新记录:
        • 查询记录:
        • 更新记录:
        • 删除记录:
    • 总结与拓展
      • 总结
      • 拓展

在 Django 中,我们可以使用 MySQL 作为后端数据库来存储数据。下面是连接 Django 和 MySQL 数据库的步骤:
在这里插入图片描述

步骤一:安装必要的库和驱动

首先,确保已经安装了 Django 和 MySQL 客户端驱动。可以通过以下命令安装:

pip install Django mysqlclient

步骤二:配置数据库连接

在 Django 项目的 settings.py 文件中,找到 DATABASES 配置项,并进行如下配置:

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'your_database_name','USER': 'your_database_user','PASSWORD': 'your_database_password','HOST': 'localhost', # 或者指定数据库的主机地址'PORT': '3306', # MySQL 默认端口为 3306}
}

请将上述代码中的 your_database_nameyour_database_useryour_database_password 替换为实际的数据库名称、用户名和密码。

步骤三:执行数据库迁移

在配置好数据库连接后,使用以下命令执行数据库迁移:

python manage.py makemigrations
python manage.py migrate

这两个命令将会在 MySQL 数据库中创建相应的表结构。

步骤四:开始使用 MySQL 数据库

在 Django 项目中,您可以通过模型(Model)来定义数据结构并与 MySQL 数据库交互。以下是一些常用的操作示例:

创建一个模型

首先,在 Django 应用的 models.py 文件中定义一个模型类,例如:

from django.db import modelsclass Book(models.Model):title = models.CharField(max_length=100)author = models.CharField(max_length=50)publish_date = models.DateField()

迁移模型到数据库

运行以下命令将新定义的模型迁移至 MySQL 数据库:

python manage.py makemigrations your_app_name
python manage.py migrate

确保将 your_app_name 替换为您的应用名称。

使用模型进行数据操作

现在您可以在 Django 中使用该模型与 MySQL 数据库进行数据交互。以下是一些示例代码:

创建新记录:
book = Book(title='Django for Beginners', author='John Doe', publish_date='2024-05-28')
book.save()
查询记录:
books = Book.objects.all()  # 获取所有书籍记录
book = Book.objects.get(title='Django for Beginners')  # 根据标题获取特定记录
更新记录:
book = Book.objects.get(title='Django for Beginners')
book.author = 'Jane Smith'
book.save()
删除记录:
book = Book.objects.get(title='Django for Beginners')
book.delete()

总结与拓展

通过以上步骤,我们已经学会了如何在 Django 项目中使用 MySQL 数据库。

总结

  • 通过安装 mysqlclient 库并配置 DATABASES 设置,可以让 Django 项目连接到 MySQL 数据库。
  • 使用 makemigrationsmigrate 命令可以将模型迁移至 MySQL 数据库,并进行数据库表结构的创建和更新。
  • 在模型中定义字段和方法后,可以通过模型类进行数据的增删改查操作。

拓展

  • 可以进一步学习 MySQL 数据库的高级特性,如索引、事务、存储过程等,以优化数据库性能和扩展功能。
  • 可以探索 Django ORM(对象关系映射)的更多特性,如复杂查询、关联模型等,以更加灵活地操作数据库。
  • 了解 Django 的数据库迁移机制和版本控制,以便在团队协作或生产环境中管理数据库变更。

希望本文能够帮助您顺利地在 Django 项目中使用 MySQL 数据库,并为您未来的项目开发提供一定的指导和启发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/19823.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac安装第三方软件的命令安装方式

场景: 打开终端命令行,sudo xattr -rd com.apple.quarantine,注意最后quarantine 后面加一个空格!然后打开Finder(访达),点击左侧的 应用程序,找到相关应用,拖进终端qua…

(超实用)京东订单数据分析案例-维度下钻

1,数据介绍,字段了解 尽可能熟悉业务,多知道字段的含义,字段字段间的逻辑关系,后期数据分析思路才能更清晰,结果才能更准确 2,订单数据分析基本思路 维度下钻 3,代码实现全流程思路…

华为telnet的两种认证方式

华为telnet的两种认证方式 实验拓扑: 实验要求: 1.采用普通密码认证实现telnet 远程登录机房设备R3 2.采用AAA认证服务方式实现telnet 远程登录机房设备R3 实验步骤: 1.完成基本配置(设备接口配置IP,此步骤略过&#…

Facebook的隐私保护挑战:用户数据安全的新时代

在全球范围内,Facebook已经成为了不可忽视的社交媒体巨头,它连接着超过20亿的活跃用户。然而,随着其影响力的不断扩大,关于用户隐私和数据安全的问题也愈加引人关注。本文将深入探讨Facebook面临的隐私保护挑战,以及它…

一个程序员的牢狱生涯(47)学法

星期一 学法 二铺不知道什么时候走到了我的身边,向我说道,这是二铺在我进来号子后主动过来和我说话。 我听到二铺这声突兀的说话后,抬起头。这时我才看到,除了二铺,还有六子、棍子都围在我的身边,看着我。虽然六子和棍子依旧一副‘吊儿郎当’的样子,但我从他们几个的眼神…

解析前端开发中同源策略与配置代理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 在前端开发中,跨域请求是一个常见的问题。同源策略限制了浏览器中一个页面…

C++高手进阶:Windows 模块加载的艺术与策略

前文我们讲到了怎么不依赖第三库,搭建自己的测试框架 没有看的读者可以通过这个链接自行阅读: 👉👉👉 自力更生:0依赖三方库,手把手教你打造专属C测试框架 作为项目开发来说,我们通常…

Leetcode:最长回文子串

题目链接:5. 最长回文子串 - 力扣(LeetCode) 普通版本(暴力枚举) 解题关键: 1、记录最长回文字串的长度和起始字符的下标 2、判断回文字串的逻辑与整体逻辑分离 3、先确定寻找回文字串的边界范围后从两边向…

解析Java中1000个常用类:CharSequence类,你学会了吗?

在 Java 编程中,字符串操作是最常见的任务之一。为了提供一种灵活且统一的方式来处理不同类型的字符序列,Java 引入了 CharSequence 接口。 通过实现 CharSequence 接口,各种字符序列类可以提供一致的 API,增强了代码的灵活性和可扩展性。 本文将深入探讨 CharSequence 接…

NBM 算法【python,算法,机器学习】

朴素贝叶斯法(Naive Bayes model)是基于贝叶斯定理与特征条件独立假设的分类方法。 贝叶斯定理 P ( A ∣ B ) P ( B ∣ A ) ∗ P ( A ) P ( B ) P(A|B)\frac{P(B|A) * P(A)}{P(B)} P(A∣B)P(B)P(B∣A)∗P(A)​ 其中A表示分类,B表示属性&…

Unity中的MVC框架

基本概念 MVC全名是Model View Controller 是模型(model)-视图(view)-控制器(controller)的缩写 是一种软件设计规范,用一种业务逻辑、数据、界面显示 分离的方法组织代码 将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时&#x…

【嵌入式硬件】DRV8874电机驱动

目录 1 芯片介绍 1.1 特性简介 1.2 引脚配置 1.3 最佳运行条件 2 详细说明 2.1 PMODE配置控制模式 2.1.1 PH/EN 控制模式 2.1.2 PWM 控制模式 2.1.3 独立半桥控制模式 2.2 电流感测和调节 2.2.1 IPROPI电流感测 2.2.2 IMODE电流调节 3.应用 3.1设计要求 3.2 设计…

AI换脸FaceFusion一键云部署指南

大家好,从我开始分享到现在,收到很多朋友的反馈说配置很低玩不了AI。本篇是一个云端部署AI项目的指南,帮助大家在云端进行AI项目的部署。我会从云平台的选择、代码部署、保存镜像几个方面进行详细的介绍。没有代码基础的小白也不用担心&#…

exe4j innosetup

exe4j:jdk: 打包时:需要的文件最好放到单独的一个文件夹下,主机安装32位jdk,exe4j用32位的。 附带jre: jre用32位的(jdk下的jre)可使用X86,X64.用相对路径。 只打64位时,需要选择32-bit or 64-bit (generate 64…

乐观锁 or 悲观锁 你怎么选?

你有没有听过这样一句话:悲观者正确,乐观者成功​。那么今天我来分享下什么是乐观锁​和悲观锁。 乐观锁和悲观锁有什么区别,它们什么场景会用 乐观锁 乐观锁基于这样的假设:多个事务在同一时间对同一数据对象进行操作的可能性很…

fps游戏中如何将矩阵转换为二维屏幕上的矩形坐标

fps游戏中如何将矩阵转换为二维屏幕上的矩形坐标 matrix[4][4]: 4x4 矩阵,通常用于3D变换(如模型视图投影矩阵)。 float* location: 一个指向位置坐标的指针,表示要转换的3D位置。 int Window_w, int Window_h: 窗口的宽度和高…

工厂模式详情

一.介绍工厂模式的用途与特点 工厂方法模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。定义工厂方法模式(Fatory Method Pattern)是指定义一个创建对象的接口,但让实现这个接口的类来决定实例…

Python导出Jira列表

import requests import urllib3 urllib3.disable_warnings() from jira import JIRA import pandas as pd def login_jira(username,password):jira JIRA("https://jira.cn/",basic_auth(username,password))#projectsjira.project(id13)# jqlproject"云链-…

基于强化学习的控制率参数自主寻优

1.介绍 针对控制建模与设计场景中控制参数难以确定的普遍问题,提出了一种基于强化学习的控制律参数自主优化解决方案。该方案以客户设计的控制律模型为基础,根据自定义的控制性能指标,自主搜索并确定最优的、可状态依赖的控制参数组合。 可…

unity打包的WebGL部署到IIS问题

部署之后会出错,我遇到的有以下几种; 进度条卡住不动 明明已经部署到了IIS上,为什么浏览网页的时候还是过不去或者直接报错。 进度条卡住不动的问题其实就是wasm和data的错误。 此时在浏览器上按F12进入开发者模式查看错误(下图…