锋哥原创的Python Web开发 Django5视频教程:
2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计17条视频,包括:2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~、第2讲 Django5安装、第3讲 Django5创建项目(用命令方式)等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV14Z421z78C/数据库配置是选择项目所使用的数据库的类型,不同的数据库需要设置不同的数据库引擎,数据库引擎用于实现项目与数据库的连接,Django提供4种数据库引擎: 'django.db.backends.postgresql' 'django.db.backends.mysql' 'django.db.backends.sqlite3' 'django.db.backends.oracle'
项目创建时默认使用Sqlite3数据库,这是一款轻型的数据库,常用于嵌入式系统开发,而且占用的资源非常少。Sqlite3数据库配置信息如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
如果要把上述的连接信息改成MySQL数据库,首先需要安装MySQL连接模块 mysqlclient
pip install mysqlclient -i https://pypi.tuna.tsinghua.edu.cn/simple
mysqlclient模块安装后,在项目的配置文件settings.py中配置MySQL数据库连接信息
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db_python222',
'USER': 'root',
'PASSWORD': '123456',
'HOST': 'localhost',
'PORT': '3306'
}
}
(django5至少需要MySQL 8.0.11版本)
我们来测试下数据库连接;
我们首先在mysql里创建数据库db_python222
然后我们用Django5 manage.py 提供的内置命令 migrate 来创建Django内置功能的数据表;
刷新数据库表:
这些是Django内置自带的Admin后台管理系统,Auth用户系统以及会话机制等功能需要用到的表。
注意:django也支持pymysql,mysqldb等,但是用的时候会有点小问题,所以建议大家还是用mysqlclient,比较稳定。
同时django支持多数据库;
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db_python222',
'USER': 'root',
'PASSWORD': '123456',
'HOST': 'localhost',
'PORT': '3308'
},
'mySqlite3': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
},
'mySql3': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db_django',
'USER': 'root',
'PASSWORD': '123',
'HOST': 'localhost',
'PORT': '3306'
}
}
例如上面,我们定义了三个数据库,两个mysql,一个sqlite;配置属性DATABASES设有3个键值对,分别是:'default','mySqlite3','mySql3',每个键值对代表Django连接了某个数据库。
若项目中连接了多个数据库,则数据库之间的使用需要遵从一定的规则和设置。比如项目中定义了多个模型,每个模型所对应的数据表可以选择在某个数据库中生成,如果模型没有指向某个数据库,模型就会在key为default的数据库里生成。