【问题标题】:Is there a way to prevent fixtures from loading according the environment?有没有办法防止灯具根据环境加载?
【发布时间】:2014-08-13 22:36:39
【问题描述】:

我使用每个环境的 en .env 文件来设置必须根据环境不同的设置变量。一个例子是:

在 settings.py 文件中: DEBUG = (os.environ['DJANGO_DEBUG'] in ['True', 'true'])

在 DEV 环境的 .env 文件中: DJANGO_DEBUG=True

我希望在生产环境中运行 syncdb 时不会加载固定装置。 我阅读了文档,但没有找到任何与灯具相关的设置变量。

你会怎么做? (目前,我只是没有在 github 上上传夹具文件,脏!) 请注意,我使用的是 Django 1.6。

谢谢。

【问题讨论】:

    标签: python django django-fixtures


    【解决方案1】:

    您可以使用一个名为FIXTURE_DIRS 的设置变量。在 Django 1.6 中,这是一个将在应用程序根目录中搜索夹具的目录列表,除了任何名为“夹具”的目录。 FIXTURE_DIRS 默认为空元组。

    您无法阻止搜索“fixtures”目录,因此请确保您没有使用该名称的目录。相反,为您的灯具创建一个目录并为其命名。在下面的示例中,我将调用我的“我的夹具”。

    既然您已经检查了DEBUG 是否为真,您可以在settings.py 的末尾添加两行:

    if DEBUG:
        FIXTURE_DIRS = ['my-fixtures']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-26
      • 2017-01-17
      • 2019-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多