[英]getting raise KeyError(key) KeyError: 'SECRET_KEY' with django on production settings
我有 2 個用於生產和開發的單獨設置文件和一個通用 base.py 設置文件
基礎.py
SECRET_KEY = r"!@#$%^&123456"
產品.py
from .base import *
SECRET_KEY = os.environ['SECRET_KEY']
管理.py
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings.dev")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
當我在終端中輸入時:
python manage.py shell --settings=entri.settings.prod
我得到錯誤:
raise KeyError(key)
KeyError: 'SECRET_KEY'
幫幫我,我是 django 和 python 的新手
我認為您正在本地嘗試此操作,並且您的環境中沒有SECRET_KEY
設置。
設置它使用
export SECRET_KEY="somesecretvalue"
然后運行python manage.py shell --settings=entri.settings.prod
應該可以正常工作。
我使用 os.getenv('SECRET_KEY'),而不是 os.environ['SECRET_KEY']
print os.getenv('SECRET_KEY') #returns None if KEY doesn't exist
print os.getenv('SECRET_KEY', 0) #will return 0 if KEY doesn't exist
我的 python 版本是 2.7.12
在 Django 中嘗試保護/隱藏我的 secret_key 時,我的問題是即使在 windows 上使用 set 命令設置 secret_key 后,我仍然收到“密鑰不能為空”錯誤。 我通過刪除命令中賦值運算符前后的所有空格來解決這個問題。 在你的cmd中,寫
設置 SECRET_KEY="kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"
代替
設置 SECRET_KEY = "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.