Django学习全纪录:编写你的第一个 Django 应用,Django内置数据库的配置,以及扩展性的数据库介绍和配置

本文主要是介绍Django学习全纪录:编写你的第一个 Django 应用,Django内置数据库的配置,以及扩展性的数据库介绍和配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

天下古今之庸人,皆以一惰字致败;天下古今之人才,皆以一傲字致败。——[清]曾国藩

导言

大家好,在上一篇文章里,我们一起学习了Django的视图以及路由,并且对Django的应用有了初步的认识,掌握了视图和路由的基本规则,学会了Django的应用如何创建,总之,收获满满。

这篇文章,我们接着对其进行深入一点的学习,总所周知,我们的项目离不开数据库的支持。如果不懂数据库的相关知识,学习就会无法下手,数据库就成为了绕不过去的一个坎。然而,Django的强大之处之一就是,它使用Python内置的数据库,让不懂数据库的人也可以通过一些命令进行操作。不过,在我们开发之前,最好还是去学习一些数据库的基本知识吧!例如MySQL或者是oracle。

学习目标

  • Django数据库的配置(了解一下内置数据库,使用MySQL进行实践)
  • Django数据库的迁移操作

Django数据库的配置

1、请打开 TestSystem/settings.py 。这是个包含了 Django 项目设置的 Python 模块。

Python内置数据库:SQLite

在settings文件里,这个配置文件使用 SQLite 作为默认数据库。无需我们进行任何配置操作。
说起配置,还记得在settings中的INSTALLED_APPS吗?这里包括了会在你项目中启用的所有 Django 应用。应用能在多个项目中使用,你也可以打包并且发布应用,让别人使用它们。

  • django.contrib.admin – 管理员站点。
  • django.contrib.auth – 认证授权系统。
  • django.contrib.contenttypes – 内容类型框架。
  • django.contrib.sessions – 会话框架。
  • django.contrib.messages – 消息框架。
  • django.contrib.staticfiles – 管理静态文件的框架

这里我们提一下这个设置项,毕竟挺重要的。这些应用被默认启用是为了给常规项目提供方便。
当然,这些默认被激活的应用,如果你觉得不需要,完全可以删除或者注释掉!
如果使用内置的数据库,那么Django早已帮助我们默认填写了配置项,如下图:
默认配置数据库

开始使用拓展数据库:MySQL

当我们开始一个真正的项目时,可能更倾向使用一个更具扩展性的数据库,例如MySQL,避免中途切换数据库这个令人头疼的问题。
所以,在这里我们使用MySQL进行实践,如果你还不懂,那么先去了解一下吧!这里暂时不做讲解,我默认你们都已经懂得MySQL啦!

做一些准备工作

1、我们第一步工作,首先要开启我们的MySQL服务,此处不做讲解哦。
2、打开数据库可视化软件或者命令行都可以,当然我是推荐可视化软件的,我用的是Navicat Premium 12。当然如果你感觉技术高超,使用命令行完全是可以的,但是没必要,效率不是很高对于新手来讲。
3、连接数据库(本地或云端) ,我这里是本地。
4、创建一个用于Django项目的数据库。

配置数据库设置项

现在,回到pycharm,打开settings.py,找到【DATABASES】设置项,我们现在需要配置一些有关数据库的东西。

ENGINE:可选值有 ‘django.db.backends.sqlite3’,‘django.db.backends.postgresql’,‘django.db.backends.mysql’,或 ‘django.db.backends.oracle’。
在这里插入图片描述

#配置项
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'polls',"USER": "root","PASSWORD": "root","HOST": "127.0.0.1","PORT": "3306",}
}

注意:我们需要安装一个包:mysqlclient,如果提示【 MySQL 8 or later is required (found 5.7.26)】就说明我们需要重新安装对应版本的数据库了哈。

#在终端中安装
pip install mysqlclient

Django数据库的迁移操作

完成以上的工作以后,我们需要在终端执行最后一条命令,完成数据库的迁移。

py manage.py migrate

执行后,可能会出现下面几种异常:
异常1
异常2
解决方案:对于数据库的版本不匹配,更换数据库服务即可,重新开启对应数据库服务以及创建数据库。
对于,缺少包,根据提示,使用pip install 安装对应的包即可。

执行成功后,终端以及数据库可视化软件界面如下:
在这里插入图片描述
在这里插入图片描述
这个 migrate 命令查看 INSTALLED_APPS 配置,并根据 TestSystem/settings.py 文件中的数据库配置和随应用提供的数据库迁移文件,创建任何必要的数据库表。

拓展知识

写到这里,这篇文章其实已经接近尾声。难说再见,这里给大家在分享一点知识。
如果你感兴趣的话,并且已经将mysql配置完成,包括环境变量。那么,可以在终端输入mysql进入数据库的命令行,使用以下命令完成数据库的另一种方式的查看

//更改数据库
use polls
//查看当前的所有数据表
SHOW TABLES;

如下图所示:
在这里插入图片描述

总结

行文至此,这篇文章又要和伙伴们说再见了。在这篇文章里,我们一起研究了Django的数据库以及使用拓展性的数据库的基本操作。下一篇文章,我们将开启一个新课题-模型。
感谢你的阅读和指导,下一篇文章,再见!

原创不易,仅供个人学习研究。

最美的风景是无法用相机记录的,它只该在当时被眼睛全神凝视,再在日后的想象中不受牵绊地重演。——沈诞琦

这篇关于Django学习全纪录:编写你的第一个 Django 应用,Django内置数据库的配置,以及扩展性的数据库介绍和配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/711406

相关文章

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数