Django MySQL配置

本文介绍了如何在Django中配置MySQL数据库,并详细说明了makemigrations与migrate命令的作用及使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    Django默认支持 Mysql, Pgsql, oracle, sqllite。使用SqlLite时什么都不用安装,django已经自带客户端lib。数据库的Django官方文档。

https://docs.djangoproject.com/en/1.11/ref/databases/#mysql-notes

   以使用MySql为例子,首先需要在settings.py的Databases里设置MySql的登录信息。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django_test',  #数据库名字
        'USER': 'xx',          #mysql 登录名字
        'PASSWORD': '123456',  #mysql 登录密码
        'HOST': '192.168.1.21',
        'PORT': '3306',
    }
}

    也可以采用OPTIONS的方式,这样就可以避免修改settings.py了。

# settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
            'read_default_file': '/path/to/my.cnf',
        },
    }
}


# my.cnf
[client]
database = NAME
user = USER
password = PASSWORD
default-character-set = utf8

     设置完成之后,你的django项目就会使用Mysql数据库了。

运行命令:python manage.py makemigrations  会在migrations目录下产生修改数据库的py文件,文件次序是00001,,0002一次类推。

python manage.py sqlmigrate app_name  migration_file_name  可以查看0001等文件生成的SQL语句。


python manage.py migrate 这个命令会最终操作你的数据库,所以运行migrate之前,数据库是不会有任何改变的。之所以有makemigrations 和migrate两个命令来完成修改数据库,主要是为了发布到生产环境方便。在开发环境中通过makemigrations生成修改数据库的py文件,再到生产环境中通过migrate来修改生产环境的数据库。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值