【问题标题】:How to hide EMAIL_HOST_PASSWORD in settings.py file?如何在 settings.py 文件中隐藏 EMAIL_HOST_PASSWORD?
【发布时间】:2019-11-23 11:30:46
【问题描述】:

所以,我有一个用 Django 编写的应用程序,它有一个联系页面,用户可以从该页面使用 gmail 的 smtp 发送邮件。对于 settings.py 文件中的这个功能,我写了EMAIL_HOST_PASSWORD = 'my-own-password',我将在 github.io 上部署我的站点。所以,我必须隐藏或加密密码。我能用它做什么?

【问题讨论】:

    标签: python django passwords


    【解决方案1】:

    您无法在 github 页面上部署 django 应用程序,如下所述:https://help.github.com/en/articles/what-is-github-pages

    如果你想在 github 上上传你的代码并且你不想分享你的密码,你可以把它放在另一个文件中,并将这个文件添加到你的 .gitignore

    【讨论】:

    • 真是个坏消息。那么有没有像 github pages 这样的免费服务呢? @louisld
    • 我在 Internet 上通过快速搜索找到了这个:pythonanywhere.com。但是您可以使用一年免费的亚马逊网络服务。
    【解决方案2】:

    关于您的问题的两点:

    1. 您不能在 github 页面上部署 Django 应用程序,因为它们只提供静态文件。检查例如Heroku,在那里部署 Django 很容易。
    2. 隐藏密码和密钥的最常见做法是使用环境变量。通常,您必须在 bash 中设置一个变量,例如export EMAIL_HOST_PASSWORD=my-own-password 然后你可以使用os python 模块来检索它:
    import os
    
    EMAIL_HOST_PASSWORD = os.environ.get("EMAIL_HOST_PASSWORD")
    

    有用的视频教程:

    【讨论】:

      猜你喜欢
      • 2010-11-15
      • 2011-01-28
      • 2013-10-05
      • 1970-01-01
      • 2020-06-20
      • 2015-02-15
      • 2021-07-12
      • 1970-01-01
      相关资源
      最近更新 更多