Django:Celery在使用I时导入Django模型或函数时抛出错误

2024-10-02 12:35:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个问题,与Django芹菜配置

当我尝试将这样的函数导入芹菜文件时:

def add_proxy():
    proxy = ProxyList(timezone.now())
    proxy.save()

运行命令:

celery -A estatefilter_backend worker -l info

导致错误:

django.core.exceptions.ImproperlyConfigured:
Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

我使用的是python3.7.5和Django 2.2.7


Tags: 文件django函数命令addsettingssavedef
1条回答
网友
1楼 · 发布于 2024-10-02 12:35:04

os.environ.setdefault()行必须在任何可能导入Django模块的导入之前,例如:

from __future__ import absolute_import, unicode_literals

import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'estatefilter_backend.settings')

from celery import Celery
from django.conf import settings
from scrapper.add_scrape import add_proxy

app = Celery('estatefilter_backend', broker='amqp://localhost')
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)

相关问题 更多 >

    热门问题