我正在尝试将多个设置文件应用于我的项目。我正在关注两篇基本文章:
1 http://www.rdegges.com/the-perfect-django-settings-file/
2两勺Django:Django 1.5的最佳实践 https://github.com/twoscoops/django-twoscoops-project
我有两个问题:
1)我知道在设置中使用密钥和aws密钥等文件很重要。在github的pydanny示例中,我发现了这个
SECRET_KEY = r"{{ secret_key }}"
我在我的本地使用它,即使我的环境变量(bashrc,profiles或virtualenvs)没有密钥,它也会通过。
此SECRET_KEY = r“{{secret_key}}”如何运作?
2)创建设置文件夹后。还创建了 init .py以及我的基本,本地,停滞和生产设置文件。我注意到一些子命令就像collectstatic一样消失了。我必须将manage.py更改为local或base才能再次看到它们。
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings.local")
为什么这适用于基本和本地设置,但不适用于生产?
答案 0 :(得分:0)
Django的SECRET_KEY有许多用法围绕cryptographic signing。例如,这就是如何保护cookie或Django如何确保隐藏的表单字段不被篡改。
manage.py runserver
是您不在生产中使用的开发服务器:您可能在那里使用WSGI:修改manage.py将不会执行任何操作。