在我们做完django项目后,向生产环境部署时,为了避免一些敏感信息被有心人利用,我们应该将其保护起来,比如说在settings配置中的一些密码等内容存在操作系统内,通过调用来使用,比如下面这种做法:
拿Django中的SECRET_KEY来说吧,其余如同数据库密码、邮箱密码等秘密内容都可以使用这种方式将其贮存在操作系统中。我使用的是python语言,这里要使用到python的os内置模块:
具体到这个案例中我们使用的是os.environ函数,用来获取系统变量。
1 import os
2
3 SECRET_KEY = os.environ["SECRET_KEY"]
然后在linux中的/etc/profile中写入SECRET_KEY变量的值:
[](javascript:void(0)
1 export SECRET_KEY="xxxxxxxx"
2 # 引号中的内容xxxxxxxx可以用Django原先自带的,也可以自己单独再另外生成。
3 -----------------------------------------------------------------
4 # 生成方式:
5 python manage.py shell
6 >>>from django.core.management.utils import get_random_secret_key
7 >>>get_random_secret_key()
8 'i!$!1s%4kzi%q(_^9b$i&!&apwu1!)l#=x99l2(6m=7+i(ajtm'
[](javascript:void(0)
**【******注:****在向/etc/profile中写入数据,退出保存后一定要执行一下:source /etc/profile。作用是使改动生效,否则会报错】