Django 2.3:我已将我的密钥提交到私有存储库。我可以自己编辑密钥,然后将.env文件添加到.gitignore吗?

时间:2019-07-03 16:43:08

标签: django python-3.x git secret-key

因此,在成为Django的新手时,我无意中将我的密钥提交给了我的网站专用存储库。考虑到我打算将该站点用于商业目的,因此我想确保其安全性。我需要生成一个全新的Django密钥吗?还是我可以编辑一下,例如,密钥的10个字符,将已编辑的密钥添加到我的.env文件中,然后将.env添加到我的.gitignore文件中,然后称之为一天?

我知道这不是最好的方法。我很可能会完全生成一个新的密钥,但是我认为这可能是有效的快速修复方法。

我认为通过这种方式,新的密钥仍然是随机生成的,而旧的密钥仍可以在github上使用,但对碰巧将其删除的任何人都没有用。

仅供参考,我正在将python-decouple与.env文件一起使用,该文件是我保存所有秘密变量(aws信息,秘密密钥,db信息等)的地方。我有单独的设置文件(production.py,development.py,common_settings.py),其中production.py和development.py都从common_settings.py导入所有数据。我只是偶然忘记了在进行第一次提交之前删除原始的settings.py文件。

4 个答案:

答案 0 :(得分:1)

这是正常现象,所以不用担心,也不一定需要堆栈溢出来回答。

SECRET_KEY的长度始终为50个字符。

因此,您可以编写一种生成随机字符串的方法或使用类似https://www.miniwebtool.com/django-secret-key-generator/

的网站

答案 1 :(得分:1)

  

我需要生成一个全新的Django密钥吗?或者…将.env添加到我的.gitignore文件中

两者。首先remove settings.py from the history,然后生成一个新密钥,将其保存在.env中,并将.env添加到您的.gitignore中。

答案 2 :(得分:0)

我最终只是从提供的@aaronkazah网站创建了一个新密钥。如果您查看@phd下的评论,将会对我的问题有更好的说明。当最好的方法是创建新密钥时,不是提供快速修复的好理由。花了几秒钟。感谢大家的帮助。

答案 3 :(得分:0)

我尝试过同样的事情,但不幸的是,它对我不起作用。

  1. 安装dotenv软件包:pip install -U python-dotenv
  2. 导入此软件包并调用您的.env变量:from dotenv import load_dotenv

Example is below

from dotenv import load_dotenv   #for python-dotenv method

load_dotenv()                    #for python-dotenv method

import os 

user_name = os.environ.get('USER')
password = os.environ.get('password')

print(user_name, password)

Output

username password