Django 4 支持多种类型的数据库连接,包括 MySQL、PostgreSQL、SQLite、Oracle 等。对于不同类型的数据库,需要进行不同的设置。下面是 Django 4 对各类数据库连接的设置方法。

MySQL

在 Django 4 中连接 MySQL 数据库,需要使用 django.db.backends.mysql 引擎。在 settings.py 文件中进行配置,示例代码如下:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': 'localhost',
'PORT': '3306',
}
}

其中,'ENGINE' 参数指定数据库类型为 MySQL,'NAME''USER''PASSWORD' 分别指定数据库名称、用户名和密码。'HOST' 参数指定数据库所在的主机名或 IP 地址,这里是本地主机。'PORT' 参数指定数据库连接的端口号,这里是 MySQL 默认端口 3306。

PostgreSQL

在 Django 4 中连接 PostgreSQL 数据库,需要使用 django.db.backends.postgresql 引擎。在 settings.py 文件中进行配置,示例代码如下:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': 'localhost',
'PORT': '5432',
}
}

其中,'ENGINE' 参数指定数据库类型为 PostgreSQL,'NAME''USER''PASSWORD' 分别指定数据库名称、用户名和密码。'HOST' 参数指定数据库所在的主机名或 IP 地址,这里是本地主机。'PORT' 参数指定数据库连接的端口号,这里是 PostgreSQL 默认端口 5432。

SQLite

在 Django 4 中连接 SQLite 数据库,需要使用 django.db.backends.sqlite3 引擎。在 settings.py 文件中进行配置,示例代码如下:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}

其中,'ENGINE' 参数指定数据库类型为 SQLite,'NAME' 参数指定数据库文件的路径。

Oracle

在 Django 4 中连接 Oracle 数据库,需要使用 django.db.backends.oracle 引擎。在 settings.py 文件中进行配置,示例代码如下:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': 'localhost',
'PORT': '1521',
'OPTIONS': {
'threaded': True,
},
}
}

 SQL Server 

在 Django 4 中连接 SQL Server 数据库,可以使用 django-pyodbc-azure 库提供的 PyODBC 驱动。首先,需要安装该库,可以使用 pip 命令进行安装:

pip install django-pyodbc-azure

安装完成后,在 settings.py 文件中添加以下代码:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sql_server',
'NAME': '<database_name>',
'HOST': '<server_name>.database.windows.net',
'PORT': '1433',
'USER': '<username>@<server_name>',
'PASSWORD': '<password>',
'OPTIONS': {
'driver': 'ODBC Driver 17 for SQL Server',
},
},
}

其中,<database_name> 为数据库名称,<server_name> 为服务器名称,<username> 为登录用户名,<password> 为登录密码。'OPTIONS' 参数中指定了 PyODBC 驱动程序的名称,这里使用的是 ODBC Driver 17 for SQL Server。如果使用其他版本的驱动程序,可以相应地修改。此外,还可以在 'OPTIONS' 参数中指定其他 PyODBC 驱动程序的选项,例如设置连接超时时间。

需要注意的是,在使用 SQL Server 数据库时,还需要安装相应的数据库驱动程序,例如 PyODBC。可以通过 pip 命令进行安装:

pip install pyodbc
安装完成后,在操作系统中配置 ODBC 数据源,以便在 Django 中使用。可以使用 ODBC 数据源管理员来配置,例如 Windows 系统中的 "ODBC 数据源 (64 位)"。

配置完成后,可以在 Django 中使用 'ENGINE': 'django.db.backends.sql_server' 来指定使用 PyODBC 驱动程序连接 SQL Server 数据库。

Django4全栈进阶之路6 对各类数据库连接设置的更多相关文章

  1. web前端全栈学习之路

    web前端全栈学习之路 --- 陆续更新中 一.HTML相关 1.HTML常用标签:http://www.cnblogs.com/wyb666/p/8733699.html 2.HTML5基础: 3. ...

  2. python 全栈开发之路 day1

    python 全栈开发之路 day1   本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...

  3. 你的Node应用,对接分布式链路跟踪系统了吗?(一) 原创: 金炳 Node全栈进阶 4天前 戳蓝字「Node全栈进阶」关注我们哦

    你的Node应用,对接分布式链路跟踪系统了吗?(一) 原创: 金炳 Node全栈进阶 4天前 戳蓝字「Node全栈进阶」关注我们哦

  4. C#.Net全栈工程师之路-学习路径

    C#.Net全栈工程师之路-学习路径 按架构分: C/S架构: B/S架构: Mobile移动开发: 按技术点分: C#编程基础以及OOP面向对象编程: 数据库基础以及高级应用(MYSQL+MSSQL ...

  5. “全栈2019”Java多线程第四章:设置和获取线程名称

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  6. “全栈2019”Java第八章:IntelliJ IDEA设置注释不显示在行首

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  7. 战争热诚的python全栈开发之路

    从学习python开始,一直是自己摸索,但是时间不等人啊,所以自己为了节省时间,决定报个班系统学习,下面整理的文章都是自己学习后,认为重要的需要弄懂的知识点,做出链接,一方面是为了自己找的话方便,一方 ...

  8. Python全栈开发之路 【第四篇】:Python基础之函数

    本节内容 函数def: 1.位置参数,默认参数 2.位置参数,关键参数 3.如果参数中出现 *users,传递的参数就可以不再是固定的个数, 传过来的所有元素进行打包成元组 *args,**kwarg ...

  9. Python全栈开发之路 【第七篇】:面向对象编程设计与开发(1)

    本节内容 一.编程范式 编程指的是写程序.敲代码,就是指程序员用特定的语法.数据结构和算法编写的代码,目的是来告诉计算机如何执行任务的. 在编程的世界里最常见的两大流派是:面向过程与面向对象.“功夫的 ...

  10. Python全栈开发之路 【第一篇】:Python 介绍

    本节内容 一.Python介绍 python的创始人为荷兰人——吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本 ...

随机推荐

  1. JDK8:Lambda表达式操作List集合

    JDK8的流对list的处理提供了很大的方便,特别是做报表的时候才能真正体现出来这个功能的强大:结合日常使用过程,有两个体会:一个是减少了数据库连接,最忌讳在循环中进行数据查询,特别是嵌套多层循环的时 ...

  2. Navicat基础教程

    1.安装 可以直接前往官网进行安装,网址如下: https://navicat.com.cn/download/navicat-premium 下载之后将下载后的压缩包解压到当前文件夹,然后根据里面自 ...

  3. Java线程池和Spring异步处理高级篇

    开发过程中我们会遇到很多使用线程池的场景,例如异步短信通知,异步发邮件,异步记录操作日志,异步处理批量Excel解析.这些异步处理的场景我们都可以把它放在线程池中去完成,当然还有很多场景也都可以使用线 ...

  4. k8s容器互联-flannel host-gw原理篇

    k8s容器互联-flannel host-gw原理篇 容器系列文章 容器系列视频 简析host-gw 前面分析了flannel vxlan模式进行容器跨主机通信的原理,但是vxlan模式需要对数据包进 ...

  5. 2021年9月学科能力综合测试(TACA)试题解答 Mathemaitca练习

    各个都是人形计算器???? 目录 试题地址 1 签到 2 3 签到 4 5 6 7 8 9 10 11 你让我猜我肯定这么猜 12 13 试题地址 http://www.mxqe.com/gzsnj/ ...

  6. 【WEB UI自动化】Selenium爬取用户的知乎回答时遇到10002:请求参数异常,请升级客户端后重试

    这里分享一个低配版知乎爬虫,利用了Selenium模块 爬取的过程中遇到了10002:请求参数异常,请升级客户端后重试,调用知乎某用户的回答API返回的HTTP状态码是403 Forbidden 之后 ...

  7. Java 遍历方式

    一.遍历方式 迭代器 增强for循环 普通for循环 二.使用 迭代器: public class IteratorMethod { public static void main(String[] ...

  8. Redis面试必问题(一)缓存穿透、缓存击穿、缓存雪崩

    一.缓存穿透(数据库没有,缓存没有) 1.概念 当查询Redis中没有数据时,该查询会下沉到数据库层,同时数据库层也没有该数据,当出现大量这种查询(或被恶意攻击)时,接口的访问全部透过Redis访问数 ...

  9. 微软博客上几篇 Semantic-kernel (SK)文章

    自从最近微软开源Semantic-kernel  来帮助开发人员在其应用程序中使用AI大型语言模型(LLM)以来,Microsoft一直在忙于改进它,发布了有关如何使用它的新指南并发布了5篇文章介绍他 ...

  10. 用BingGPT写一首勉励自己的诗

    觉得写的还挺有意思,所以记录一下,祝自己在今后的生活中努力学习,学有所成 勤学不辍志,博览群书知. 海纳百川理,山高自有路. 勿以时日长,惟以功夫深.