簡體   English   中英

使用環境變量隱藏 Django SECRET_KEY 的問題

[英]Issue with Hiding Django SECRET_KEY Using environment variables

我正在虛擬環境中的 AWS EC2 Ubuntu 實例上運行我的程序和 Django 項目。 django 項目在 apache 服務器上運行。 出於這個問題的目的,我會說我的密鑰是“AAAA”。 我有一個環境變量集(“SECRET_KEY”)。 它已正確設置,當我輸入時:

在 python shell 中import os print(os.environ['SECRET_KEY']) ,它會打印正確的密鑰,AAAA。 因此,我知道 python 能夠訪問正確的環境變量。 在 settings.py 中,當SECRET_KEY='AAAA'時,項目工作,一切正常執行。 但是,當我將其更改為: SECRET_KEY=os.environ['SECRET_KEY']時,服務器無法正常工作(500 內部服務器錯誤)。

一切似乎都應該起作用。 關於我在這里錯過的任何建議或想法?

原來我必須像這樣向 os.environ.get 添加一個默認的 state :

SECRET_KEY = os.environ.get('SECRET_KEY', 'mmglfamx3n927*93$ks#r)h%*a(@))vb7*=2q$&z(=6@q&*ghj')

我像這樣使用SECRET_KEY = os.getenv('SECRET_KEY')來獲取項目中的環境變量。

您可以做的另一件事是在終端服務器中打印 env 變量,以確保它可用於應用程序。

問候,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM