如题,我们在django的setting里面有个
SECRET_KEY = '9b7+8l35&)ldkw%5w)bg_0f=2^+%o9floh8_v)-4k0n)4^98jl'
这个值是通过什么库来生成的
如题,我们在django的setting里面有个
SECRET_KEY = '9b7+8l35&)ldkw%5w)bg_0f=2^+%o9floh8_v)-4k0n)4^98jl'
这个值是通过什么库来生成的
网上找到这么一段代码
import random, string
print "".join([random.choice(string.digits + string.letters) for i in range(50)])
另一种方式
import binascii, os
print binascii.b2a_base64(os.urandom(50))
这个值是django架构自己实现生成的,通过django的源码可以看到这个值的生成方式,该值在你使用startproject开始调用生成。你可以从manage.py为入口慢慢追踪定位到目标所在。
4 回答4.5k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
SECRET_KEY
是在startproject
时候生成的,最终引用的是上述代码,具体的你可以自己去源码查看。PS 补充一下,以上代码的django版本为
1.10
,具体代码执行步骤如下(其它版本也可以按照这个方法来):1. django/core/management/commands/startproject.py
2. django/core/management/utils.py
3. django/utils/crypto.py