计划任务中出现错误:“Django.core.exceptions.impropertlyconfigured:请求设置LOGGING\u CONFIG,但未配置设置。”

2024-04-27 02:21:13 发布

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

我在pythonanuwhere上部署了我的Django应用程序,并希望向计划任务添加一个文件。但这给了我一个错误:

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

我试过这个:

os.environ.setdefault('DJANGO_SETTING_MODULE', 'smsreminder.settings')
django.setup()

结果相同,但在django.setup()行中有错误 我要执行的文件中的脚本:

import datetime

from django_common.auth_backends import User

from reminder.models import Remind

from twilio.base.exceptions import TwilioRestException

from twilio.rest import Client

def my_scheduled_job():

    content = Remind.objects.all()
    account_sid = "--------------------------"
    auth_token = "--------------------------"
    for smscontent in content:
        if smscontent.remind_date == datetime.today().date():
            tempusers = User.objects.filter(username=smscontent.author)
            for recipient in tempusers:
                try:
                    client = Client(account_sid, auth_token)
                    message = client.messages.create(
                        body="I just want to remind, that you have some task for today {date}: {task}. {time} is the deadline!".format(
                            date=str(smscontent.remind_date), task=str(smscontent.title),
                            time=str(smscontent.remind_time)),
                        to=str(recipient.username),
                        from_="+18568889437")
                    print(message.sid)

                except TwilioRestException:
                    pass
    return

错误:

Traceback (most recent call last):
  File "/home/remindmy/sms-reminder/reminder/cron.py", line 3, in <module>
    from django_common.auth_backends import User
  File "/home/remindmy/.virtualenvs/remindervenv/lib/python3.9/site-packages/django_common/auth_backends.py", line 6, in <module>
    from django.contrib.auth.backends import ModelBackend
  File "/home/remindmy/.virtualenvs/remindervenv/lib/python3.9/site-packages/django/contrib/auth/backends.py", line 2, in <module>
    from django.contrib.auth.models import Permission
  File "/home/remindmy/.virtualenvs/remindervenv/lib/python3.9/site-packages/django/contrib/auth/models.py", line 3, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
  File "/home/remindmy/.virtualenvs/remindervenv/lib/python3.9/site-packages/django/contrib/auth/base_user.py", line 48, in <module>
    class AbstractBaseUser(models.Model):
  File "/home/remindmy/.virtualenvs/remindervenv/lib/python3.9/site-packages/django/db/models/base.py", line 108, in __new__
    app_config = apps.get_containing_app_config(module)
  File "/home/remindmy/.virtualenvs/remindervenv/lib/python3.9/site-packages/django/apps/registry.py", line 253, in get_containing_app_config
    self.check_apps_ready()
  File "/home/remindmy/.virtualenvs/remindervenv/lib/python3.9/site-packages/django/apps/registry.py", line 135, in check_apps_ready
    settings.INSTALLED_APPS
  File "/home/remindmy/.virtualenvs/remindervenv/lib/python3.9/site-packages/django/conf/__init__.py", line 82, in __getattr__
    self._setup(name)
  File "/home/remindmy/.virtualenvs/remindervenv/lib/python3.9/site-packages/django/conf/__init__.py", line 63, in _setup
    raise ImproperlyConfigured(
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.co
nfigure() before accessing settings.

Tags: djangoinfrompyimportauthhomelib
1条回答
网友
1楼 · 发布于 2024-04-27 02:21:13

今天我遇到了同样的问题:

正如错误所暗示的那样

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.co
nfigure() before accessing settings.

设置S,不设置。因此,您只需要用大写字母S更新初始代码

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'smsreminder.settings')
django.setup()

相关问题 更多 >