当前位置:   article > 正文

一周学会Django5 Python Web开发-项目配置settings.py文件-数据库配置

一周学会Django5 Python Web开发-项目配置settings.py文件-数据库配置

锋哥原创的Python Web开发 Django5视频教程:

2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计17条视频,包括:2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~、第2讲 Django5安装、第3讲 Django5创建项目(用命令方式)等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://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数据库配置信息如下:

  1. DATABASES = {
  2. 'default': {
  3. 'ENGINE': 'django.db.backends.sqlite3',
  4. 'NAME': BASE_DIR / 'db.sqlite3',
  5. }
  6. }

如果要把上述的连接信息改成MySQL数据库,首先需要安装MySQL连接模块 mysqlclient

pip install mysqlclient -i https://pypi.tuna.tsinghua.edu.cn/simple

mysqlclient模块安装后,在项目的配置文件settings.py中配置MySQL数据库连接信息

  1. DATABASES = {
  2. 'default': {
  3. 'ENGINE': 'django.db.backends.mysql',
  4. 'NAME': 'db_python222',
  5. 'USER': 'root',
  6. 'PASSWORD': '123456',
  7. 'HOST': 'localhost',
  8. 'PORT': '3306'
  9. }
  10. }

(django5至少需要MySQL 8.0.11版本)

我们来测试下数据库连接;

我们首先在mysql里创建数据库db_python222

然后我们用Django5 manage.py 提供的内置命令 migrate 来创建Django内置功能的数据表;

刷新数据库表:

这些是Django内置自带的Admin后台管理系统,Auth用户系统以及会话机制等功能需要用到的表。

注意:django也支持pymysql,mysqldb等,但是用的时候会有点小问题,所以建议大家还是用mysqlclient,比较稳定。

同时django支持多数据库;

  1. DATABASES = {
  2. 'default': {
  3. 'ENGINE': 'django.db.backends.mysql',
  4. 'NAME': 'db_python222',
  5. 'USER': 'root',
  6. 'PASSWORD': '123456',
  7. 'HOST': 'localhost',
  8. 'PORT': '3308'
  9. },
  10. 'mySqlite3': {
  11. 'ENGINE': 'django.db.backends.sqlite3',
  12. 'NAME': BASE_DIR / 'db.sqlite3',
  13. },
  14. 'mySql3': {
  15. 'ENGINE': 'django.db.backends.mysql',
  16. 'NAME': 'db_django',
  17. 'USER': 'root',
  18. 'PASSWORD': '123',
  19. 'HOST': 'localhost',
  20. 'PORT': '3306'
  21. }
  22. }

例如上面,我们定义了三个数据库,两个mysql,一个sqlite;配置属性DATABASES设有3个键值对,分别是:'default','mySqlite3','mySql3',每个键值对代表Django连接了某个数据库。

若项目中连接了多个数据库,则数据库之间的使用需要遵从一定的规则和设置。比如项目中定义了多个模型,每个模型所对应的数据表可以选择在某个数据库中生成,如果模型没有指向某个数据库,模型就会在key为default的数据库里生成。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/105893
推荐阅读
相关标签
  

闽ICP备14008679号