Django连接MySQL,PostgreSQL及动态配置

2023-08-2508:07:50后端程序开发Comments2,384 views字数 1737阅读模式

配置 SQLITE

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

配置 MySQL

安装依赖:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/54762.html

pip install mysqlclient

配置:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/54762.html

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',  # 数据库名
        'USER': 'root',  # 用户名
        'PASSWORD': 'zhangdapeng520',  # 密码
        'HOST': '127.0.0.1',  # 主机
        'PORT': 3306,
        # 取消外键约束,否则多对多模型迁移报 django.db.utils.IntegrityError: (1215, 'Cannot add foreign key constraint')
        'OPTIONS': {
            "init_command": "SET foreign_key_checks = 0;",
            'charset': 'utf8mb4'
        },
    }
}

配置PostgreSQL

安装依赖:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/54762.html

pip install psycopg2

数据库配置:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/54762.html

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',  # 数据库引擎
        'NAME': 'postgres',  # 数据库名,Django不会帮你创建,需要自己进入数据库创建。
        'USER': 'postgres',  # 设置的数据库用户名
        'PASSWORD': 'zhangdapeng520',  # 设置的密码
        'HOST': '127.0.0.1',  # 本地主机或数据库服务器的ip
        'PORT': '5432',  # 数据库使用的端口
    }
}

动态配置

# 数据库配置
DB_TYPE = "mysql"
if DB_TYPE == "mysql":
    # 数据库信息
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'test',  # 数据库名
            'USER': 'root',  # 用户名
            'PASSWORD': 'zhangdapeng520',  # 密码
            'HOST': '10.1.3.86',  # 主机
            'PORT': 3306,
            # 取消外键约束,否则多对多模型迁移报django.db.utils.IntegrityError: (1215, 'Cannot add foreign key constraint')
            'OPTIONS': {
                "init_command": "SET foreign_key_checks = 0;",
                'charset': 'utf8mb4'
            },
        }
    }
else:
    DATABASES = {
        "default": {
            "ENGINE": "django.db.backends.sqlite3",
            "NAME": BASE_DIR / "db.sqlite3",
        }
    }
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/54762.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/54762.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定