Python 在Django中将应用程序级设置注入到项目级设置中

Python 在Django中将应用程序级设置注入到项目级设置中,python,django,celery,django-celery,Python,Django,Celery,Django Celery,我正在尝试为芹菜节拍设置一个cron作业,但我不想将日程信息放在项目级settings.py,是否有方法将应用程序级设置注入项目级设置,以便它能很好地与整个项目配合 celery\u任务应用程序中的celery\u config.py CELERYBEAT_SCHEDULE = { 'name_of_job': { 'task': 'task.add', 'schedule': timedelta(seconds=5), 'args': (

我正在尝试为芹菜节拍设置一个cron作业,但我不想将日程信息放在项目级
settings.py
,是否有方法将应用程序级设置注入项目级设置,以便它能很好地与整个项目配合

celery\u任务应用程序中的
celery\u config.py

CELERYBEAT_SCHEDULE = {
    'name_of_job': {
        'task': 'task.add',
        'schedule': timedelta(seconds=5),
        'args': (16, 0)
},
}
settings.py

    INSTALLED_APPS = (
    'djcelery',
    'celery_task'
)

第一个选项是通过芹菜命令行参数--config指定配置文件的位置

第二个选项是执行类似于我在需要特定于环境/部署的设置时所做的操作:

在settings.py文件的底部包含一个部分,该部分使用try语句从应用程序导入设置,以避免在应用程序设置文件不可用时破坏网站

例如:

/* bottom of settings.py */
try:
    from celery_app.celery_config import *
except:
    print 'Did not find celery_config'
这将尝试从您的应用程序加载设置文件,但如果应用程序不在项目文件夹中,将避免任何错误

重要信息:仅使用与芹菜相关的唯一配置变量,因为这将覆盖settings.py文件中先前定义的任何设置