首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让python-decouple在实时服务器上工作?

如何让python-decouple在实时服务器上工作?
EN

Stack Overflow用户
提问于 2020-03-18 11:31:53
回答 1查看 373关注 0票数 0

我似乎不能让python-decouple在实时服务器上工作。我有一个Django项目,其中使用python-decouple在一个.env文件中分离我的重要变量,比如密钥、调试、数据库变量等等。当项目在本地运行时,python-decouple工作得很好,我没有任何问题。

在确认它在本地运行良好后,我将.env文件添加到我的.gitignore文件中,将代码推送到我的GitHub存储库,然后将代码拉到AWS live服务器。

然而,在亚马逊网络服务EC2 Ubuntu服务器上配置项目时,当我尝试进行迁移时,我得到了以下错误。由于.gitignore文件的存在,AWS Ubuntu服务器上似乎没有应用.env文件中的变量。但我认为python-decouple的全部意义在于没有实时服务器上的重要变量。有人知道为什么会发生这个错误吗?我该如何修复它呢?或者不完全理解python-decouple的用例?

代码语言:javascript
复制
$ python manage.py makemigrations
Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/home/theo/aggtrends/aggenv/lib/python3.6/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/home/theo/aggtrends/aggenv/lib/python3.6/site-packages/django/core/management/__init__.py", line 345, in execute
    settings.INSTALLED_APPS
  File "/home/theo/aggtrends/aggenv/lib/python3.6/site-packages/django/conf/__init__.py", line 76, in __getattr__     
    self._setup(name)
  File "/home/theo/aggtrends/aggenv/lib/python3.6/site-packages/django/conf/__init__.py", line 63, in _setup
    self._wrapped = Settings(settings_module)
  File "/home/theo/aggtrends/aggenv/lib/python3.6/site-packages/django/conf/__init__.py", line 142, in __init__       
    mod = importlib.import_module(self.SETTINGS_MODULE)    
  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, 
in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/theo/aggtrends/aggregatetrends/settings.py", 
line 26, in <module>
    SECRET_KEY = config('SECRET_KEY')
  File "/home/theo/aggtrends/aggenv/lib/python3.6/site-packages/decouple.py", line 199, in __call__
    return self.config(*args, **kwargs)
  File "/home/theo/aggtrends/aggenv/lib/python3.6/site-packages/decouple.py", line 83, in __call__
    return self.get(*args, **kwargs)
  File "/home/theo/aggtrends/aggenv/lib/python3.6/site-packages/decouple.py", line 68, in get
    raise UndefinedValueError('{} not found. Declare it as 
envvar or define a default value.'.format(option))
decouple.UndefinedValueError: SECRET_KEY not found. Declare it as envvar or define a default value.
EN

回答 1

Stack Overflow用户

发布于 2020-03-18 12:11:36

是的,您不应该将易受攻击的数据(如.env文件)存储在公共存储库中。

但是,您应该在服务器端重新创建它。

  1. 连接到服务器
  2. 转到项目文件夹
  3. 创建.env文件,并使用您使用的所有必要变量完成该文件。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60733143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档