【问题标题】:How to separate a Django app in order to make part of its GitHub repo private如何分离 Django 应用程序以使其 GitHub 存储库的一部分私有化
【发布时间】:2018-03-04 19:40:23
【问题描述】:

我已聘请承包商对我的应用程序进行一些 Web 开发工作,并希望只允许他们访问我的 GitHub 存储库的某些部分(我希望将 Python 实用程序文件保密)。堆栈是 Python/Django/GitHub/Heroku。根据 Stack Overflow 的其他帖子,听起来解决方案是创建两个 GitHub 存储库,一个是公共的,一个是私有的,并使用 Git 进行管理。

问题是,如果我将 Python 实用程序文件移动到 Django 根项目之外的另一个存储库,那么我不确定如何将这些文件导入到我的 Django 项目中。

我沿着将 Python 文件移动到外部位置的路线,然后尝试通过 Django 设置文件中的sys.path.append('/mypath') 导入它们,或者尝试将我的 python 文件打包到一个单独的模块中,然后通过 pip 安装它,但是这两种方法都遇到了问题。

对于如何最好地分离代码库的这两个部分,是否有建议的方法,以便 Django 项目能够导入 Python 文件?

【问题讨论】:

    标签: python django git github


    【解决方案1】:

    不要以DJANGO_SECRET_KEY 将机密文件推送到存储库。将它们保密。您应该在 Heroku 配置中将它们指定为 environment variables

    因此,如果您曾经将秘密推送到存储库,我几乎不建议您在没有它的情况下创建一个新的(因为提交历史记录)。然后你必须在settings.py文件中导入环境变量。

    os.environ['SECRET_VARIABLE_NAME'] 
    

    就是这样。我猜你的意思不是 DJANGO_SECRET_KEY,而是来自 aws 或从凭证到生产数据库的密钥。但即使是DJANGO_SECRET_KEY 也应该安全保存,而不是被推送到 repo。最好将密钥以其他方式发送给开发人员,而不是将其推送到存储库。

    永远不要将您的密钥推送到存储库!

    更多来源:

    Handling Sensitive Keys | Ultimate Django

    【讨论】:

      猜你喜欢
      • 2014-09-22
      • 2023-03-16
      • 1970-01-01
      • 2020-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-04
      • 1970-01-01
      相关资源
      最近更新 更多