根据网上的教程,在setting.py文件更改django数据库为mysql的时候做配置需要填写用户名和密码,网上的许多教程都是直接使用明文密码,我们时不时会更改此文件,如果有同事/朋友或者比较看重隐私的童鞋,可能会担心打开此文件时有人不小心看到。我们只要使用将用户名和密码保存在另一个我们自己创建的配置文件里,然后通过读取此文件的方式,就不会有这个问题了。以下的过程是我亲身操作成功的,步骤有点繁琐,尝试了几种方法踩了不少坑,弄了五六小时才好,可能信息会有些遗漏,欢迎提问。
- 1.安装mysql(这里就不重复造轮子了,请参考其他教程)
- 2.安装PyMySQL,在控制台输入命令行:
pip3 install PyMySQL
- 3.安装读取配置文件模块,在控制台输入命令行:
pip3 install ConfigParser # 这里使用pip还是pip3得根据你给你的python安装模块时候是用pip还是pip3
- 4.修改Django项目下的项目同名文件夹下的setting.py文件,读取第4步创建的配置文件,并设置数据库的信息
import configparser # 这里一定要全小写,不然会报找不到模块错误
cf = configparser.ConfigParser()
cf.read('../../my_files/mysql/django_db.conf') # 这个文件的内容在下一步会创建,至于路径是哪里都可以,只要下一步创建的文件是在这里写的路径下即可
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django_db',
'USER': cf.get('db', 'MYSQL_USER'), # 从配置文件中获取数据库用户名
'PASSWORD': cf.get('db', 'MYSQL_PWD'), # 从配置文件中获取数据库密码
'HOST': '',
'PORT': '3306'
}
}
- 5.在第三步读取的配置文件相应的路径下创建配置文件django_db.conf,内容为:
[db]
MYSQL_USER = xxx # 直接写就行,不需要使用引号写成字符串
MYSQL_PWD = xxx # 直接写就行,不需要使用引号写成字符串
- 6.更新数据库结构就OK了,在控制台输入命令行:
sudo python3 manage.py makemigrations
sudo python3 manage.py migrate
如果我的文章对您有帮助,就请客官给个赞吧