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

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam