title: django使用配置文件动态连接数据库 #标题tags: #标签
date: 2022-04-16
categories: python # 分类

记录下django的settings.py配置文件中如何通过读取my.cnf文件的方式去连接数据库。

  1. # 原settings.py配置文件中的DATABASES如下:
  2. DATABASES = {
  3. 'default': {
  4. 'ENGINE': 'django.db.backends.mysql', # 指定mysql数据库引擎
  5. 'NAME': 'supercrm', # 要连接的数据库名称(需要手动创建好)
  6. 'USER': 'root', # 连接数据库的用户
  7. 'PASSWORD': '123.com', # 用户密码
  8. 'HOST': '127.0.0.1', # 数据库地址
  9. 'PORT': 3306 # 数据库连接端口
  10. }
  11. }

改为读取指定文件去连接数据库的话,配置如下:

  1. # 项目BASE_DIR路径下创建my.cnf文件如下:
  2. [client]
  3. database=supercrm
  4. user=root
  5. password=123.com
  6. host=127.0.0.1
  7. port=3306
  8. # settings.py配置文件中的DATABASES设置如下:
  9. DATABASES = {
  10. 'default': {
  11. 'ENGINE': 'django.db.backends.mysql',
  12. 'OPTIONS': {'read_default_file':str(BASE_DIR / 'my.cnf')}, # 指定读取的my.cnf文件
  13. }
  14. }

至此,就实现了从外部读取mysql配置。