Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 导入错误:无法将自定义模块导入芹菜任务,如何改进?_Django_Django Celery_Celery Task - Fatal编程技术网

Django 导入错误:无法将自定义模块导入芹菜任务,如何改进?

Django 导入错误:无法将自定义模块导入芹菜任务,如何改进?,django,django-celery,celery-task,Django,Django Celery,Celery Task,我需要从我的应用程序中导入一个模型,然后提出请求,并发送短信,但我无法导入我的模型,尽管名称指定正确,谁能帮助询问,我将等待,谢谢大家 完全回溯 > Traceback (most recent call last): File > "c:\users\p.a.n.d.e.m.i.c\appdata\local\programs\python\python36-32\Lib\runpy.py", > line 193, in _run_module_as_main >

我需要从我的应用程序中导入一个模型,然后提出请求,并发送短信,但我无法导入我的模型,尽管名称指定正确,谁能帮助询问,我将等待,谢谢大家

完全回溯

> Traceback (most recent call last):   File
> "c:\users\p.a.n.d.e.m.i.c\appdata\local\programs\python\python36-32\Lib\runpy.py",
> line 193, in _run_module_as_main
>     "__main__", mod_spec)   File "c:\users\p.a.n.d.e.m.i.c\appdata\local\programs\python\python36-32\Lib\runpy.py",
> line 85, in _run_code
>     exec(code, run_globals)   File "C:\Users\P.A.N.D.E.M.I.C\Desktop\td11\Scripts\celery.exe\__main__.py",
> line 9, in <module>   File
> "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\celery\__main__.py",
> line 30, in main
>     main()   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\celery\bin\celery.py",
> line 81, in main
>     cmd.execute_from_commandline(argv)   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\celery\bin\celery.py",
> line 769, in execute_from_commandline
>     super(CeleryCommand, self).execute_from_commandline(argv)))   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\celery\bin\base.py",
> line 311, in execute_from_commandline
>     return self.handle_argv(self.prog_name, argv[1:])   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\celery\bin\celery.py",
> line 761, in handle_argv
>     return self.execute(command, argv)   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\celery\bin\celery.py",
> line 693, in execute
>     ).run_from_argv(self.prog_name, argv[1:], command=argv[0])   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\celery\bin\worker.py",
> line 179, in run_from_argv
>     return self(*args, **options)   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\celery\bin\base.py",
> line 274, in __call__
>     ret = self.run(*args, **kwargs)   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\celery\bin\worker.py",
> line 212, in run
>     state_db=self.node_format(state_db, hostname), **kwargs   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\celery\worker\__init__.py",
> line 95, in __init__
>     self.app.loader.init_worker()   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\celery\loaders\base.py",
> line 128, in init_worker
>     self.import_default_modules()   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\celery\loaders\base.py",
> line 116, in import_default_modules
>     signals.import_modules.send(sender=self.app)   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\celery\utils\dispatch\signal.py",
> line 166, in send
>     response = receiver(signal=self, sender=sender, **named)   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\celery\fixups\django.py",
> line 73, in on_import_modules
>     self.worker_fixup.validate_models()   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\celery\fixups\django.py",
> line 158, in validate_models
>     django_setup()   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\django\__init__.py",
> line 27, in setup
>     apps.populate(settings.INSTALLED_APPS)   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\django\apps\registry.py",
> line 108, in populate
>     app_config.import_models()   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\site-packages\django\apps\config.py",
> line 202, in import_models
>     self.models_module = import_module(models_module_name)   File "c:\users\p.a.n.d.e.m.i.c\desktop\td11\lib\importlib\__init__.py",
> line 126, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)   File "<frozen importlib._bootstrap>", line 978, in _gcd_import   File
> "<frozen importlib._bootstrap>", line 961, in _find_and_load   File
> "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked 
> File "<frozen importlib._bootstrap>", line 655, in _load_unlocked  
> File "<frozen importlib._bootstrap_external>", line 678, in
> exec_module   File "<frozen importlib._bootstrap>", line 205, in
> _call_with_frames_removed   File "C:\Users\P.A.N.D.E.M.I.C\Desktop\td11\newstudio\serials\models.py",
> line 11, in <module>
>     from asynctasks.tasks                                                       import notification_for_new_series_task   File
> "C:\Users\P.A.N.D.E.M.I.C\Desktop\td11\newstudio\asynctasks\tasks.py",
> line 7, in <module>
>     from serials.models                         import FavoriteSerial ImportError: cannot import name 'FavoriteSerial'
这是tasks.py

from celery                     import Celery
from celery.decorators          import task
from celery                     import shared_task
from django.conf                import settings
from django.contrib.auth.models import User
from django.core.mail           import send_mail
from serials.models             import FavoriteSerial



@task(name="notification_for_new_series_task")
def notification_for_new_series_task(name_of_serial, number_of_season, number_of_series):
    fav_serials_of_users                = FavoriteSerial.objects.filter(favorite_serial__rus_name_of_seriall=name_of_serial)
    for i in fav_serials_of_users:
        email                           = i.user.email
        subject                         = 'Вышел {1}x{2} эпизод сериала {0}'.format(name_of_serial, number_of_season, number_of_series)
        from_email                      = settings.DEFAULT_FROM_EMAIL
        message                         = 'Вышла новая серия, сериала {0} - {1}x{2} '.format(name_of_serial, number_of_season, number_of_series)
        recipient_list                  = [email]
        html_message                    = '<h1>Вышел {1}x{2} эпизод сериала <b>{0}</b><br></h1>'.format(name_of_serial, number_of_season, number_of_series)
        send_mail(subject, message, from_email, recipient_list, fail_silently=False, html_message=html_message)
    return  
从芹菜进口芹菜
从芹菜.decorators导入任务
从芹菜导入共享任务
从django.conf导入设置
从django.contrib.auth.models导入用户
从django.core.mail导入发送邮件
从serials.models导入FavoriteSerial
@任务(name=“新系列任务通知”)
新系列任务的def通知(系列名称、季节编号、系列编号):
fav_serials_of_users=FavoriteSerial.objects.filter(favorite_serial_rus_name_of_seriall=name_of_serial)
对于我最喜欢的用户系列:
email=i.user.email
主题='bыццаааааааааааааааааааа{
from_email=settings.DEFAULT_from_email
消息='Сщааааааааааааааааа{0}-{1}x{2}.格式(аu序列的名称、а
收件人列表=[电子邮件]
htmlаu message='Сццаааааа{0}
'。格式(аu序列的名称、аu季节的编号、аu序列的编号) 发送邮件(主题、消息、来自电子邮件、收件人列表、失败消息=错误、html消息=html消息) 返回
from celery                     import Celery
from celery.decorators          import task
from celery                     import shared_task
from django.conf                import settings
from django.contrib.auth.models import User
from django.core.mail           import send_mail
from serials.models             import FavoriteSerial



@task(name="notification_for_new_series_task")
def notification_for_new_series_task(name_of_serial, number_of_season, number_of_series):
    fav_serials_of_users                = FavoriteSerial.objects.filter(favorite_serial__rus_name_of_seriall=name_of_serial)
    for i in fav_serials_of_users:
        email                           = i.user.email
        subject                         = 'Вышел {1}x{2} эпизод сериала {0}'.format(name_of_serial, number_of_season, number_of_series)
        from_email                      = settings.DEFAULT_FROM_EMAIL
        message                         = 'Вышла новая серия, сериала {0} - {1}x{2} '.format(name_of_serial, number_of_season, number_of_series)
        recipient_list                  = [email]
        html_message                    = '<h1>Вышел {1}x{2} эпизод сериала <b>{0}</b><br></h1>'.format(name_of_serial, number_of_season, number_of_series)
        send_mail(subject, message, from_email, recipient_list, fail_silently=False, html_message=html_message)
    return