私のDjangoプロジェクトの秘密鍵は、私が/etc/environment
でのenv変数としてこれを設定しようとしているなど#
、@
、^
、*
などの特殊文字が含まれているとして。環境変数
私は、ファイルに次のものがあります。
export SECRET_KEY='zotpbek!*t_abkrfdpo!*^@#plg6qt-x6(%dg)9p(qoj_r45y8'
すなわち、文字列の前後に特殊文字が含まれているため、一重引用符を使用しています(this SO postでも規定されています)。ファイルを終了してsource /etc/environment
を実行します。次に、端末にenv
と入力します。SECRET__KEY
が正しく表示されます。
ログアウトして再度ログインします。もう一度env
と入力してください。
今度はSECRET_KEY
が表示されますが、@
文字を超えて切り取られています。これは、#
文字を超えたすべてのものを除きます。
この問題を解決するにはどうすればよいですか?二重引用符で試しても何も緩和されませんでした。私のOSはUbuntu 14.04 LTSです。
p.s.私は、環境変数がアクセス制御をサポートしていないことを認識しています。 Djangoの秘密鍵をenv varに設定しない理由はたくさんあります。この質問の目的のために、それをバックバーナーに置いてみましょう。
次に、秘密鍵が最初に設定された後に正しく表示されたのはなぜですか? –