【问题标题】:Django - separating prod and dev settings - delete original settings.py?Django - 分离 prod 和 dev 设置 - 删除原始 settings.py?
【发布时间】:2022-09-23 17:58:09
【问题描述】:

我遵循以下关于分离开发和生产 Django 设置文件的答案。

https://stackoverflow.com/a/54292952/15166930

  1. 分离后,我会删除原来的settings.py文件吗?

  2. 这是分离文件的常见做法吗?我在那个 SO 帖子上看到了多种方法。

  3. 此外,根据 SO 答案,我将我的 base.py 文件中的 BASE_DIR 更新为

    BASE_DIR = 路径(文件).resolve().parent.parent.parent

    现在它如下:

    settings.py
    # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    

    只是想确认一下,因为两者是如此不同.. thx (Django 2.1.7)

    标签: django


    【解决方案1】:

    有许多方法可以在开发和生产中进行不同的设置。

    如果您选择遵循您链接的方法,那么是的,您将删除原始的 settings.py 文件并将其替换为包含的 settings 目录 base.pydev.pyprod.pybase.py 包含通用设置和其他包含上下文设置的文件(无论您是处于开发阶段还是生产阶段)。

    此外,您使用 Django 2.1.7 是否有一个关键原因?它有多个known vulnerabilities

    【讨论】:

    • 欣赏它!我正在关注 Corey Schafer 的 Django youtube 教程,并且只是按照他的确切步骤进行操作。感谢分享,我现在要更新到更稳定的版本。大帮助
    【解决方案2】:

    您可以使用 dotenv 库使用不同的设置,您可以从其中提取设置的位置创建 .env 文件。

    另一种解决方案是有一个 settings_local.py 文件,您也可以从中提取设置,并根据您的环境进行调整。

    编辑:我同意第一个答案,即今天使用 django 2 是个坏主意,从那时起很多事情都发生了变化,如果你真的想学习教程,我会推荐一些更新的东西,比如 William S. Vincent书籍,“初学者的 Django:使用 Python 和 Django 构建网站”,已经有 4.X 书籍。 我向初学者强烈推荐他的书,因为它采用了面向项目的良好方法。

    【讨论】:

      猜你喜欢
      • 2019-08-22
      • 2018-04-24
      • 2022-12-07
      • 1970-01-01
      • 2011-07-31
      • 2021-06-18
      • 1970-01-01
      • 2022-08-03
      • 1970-01-01
      相关资源
      最近更新 更多