为什么我们在初始化芹菜应用程序时使用本地文件设置

why we use local file settings when initalizing celery app

我看到的大部分地方

from celery import Celery

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings.local') --> ??

app = Celery('mysite')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()

在项目中导出本地设置有什么用,我在生产中的许多项目中都看到了这一点我们使用本地设置,虽然本地主要继承基本设置,其中定义了所有 celery 配置,为什么不 mysite.settings.production ?

os.environ.setdefault 将首先查找 DJANGO_SETTINGS_MODULE 环境变量的内容,如果找不到,将其设置为默认值

您不希望在每台开发机器上都设置 DJANGO_SETTINGS_MODULE 环境变量,但在生产环境中,您需要将此变量设置为生产配置。