2014-10-18 4 views
0

장고 응용 프로그램이 있습니다. 셀러리를 추가했습니다. 장고 응용 프로그램에서 나는 '파서', 'api'이라는 패키지가 있습니다. 나는 다음의 튜토리얼을 따라 셀러리를 구성했다 : First steps with Django. 파서 패키지에는 'models.py'이 있습니다. 'task.py' 패키지 'api'하시겠습니까? 내가하려고 할 때 '에서 파서 가져 오기 모델' api 패키지에. 나는 다음과 같은 오류가 발생합니다 : 나는 보았다 발견올바른 패키지 (python-django)를 가져 오는 방법

없음 모듈라는 이름의 모델이 다음과 같은 가져 오기 파일 : lib 디렉토리/python2.7/lib에-dynload/parser.x86_64-linux-gnu.so

webapp/    
    manage.py   
    api/  
    __init__.py 
    models.py 
    views.py 
    tasks.py 
    ... 
    parser/  
    __init__.py 
    models.py 
    views.py 
    ... 
    settings/ 
    __init__.py 
    base.py 
    celery.py 
    dev.py 
    live.py 
    local.py 
    urls.py 
    wsgi.py 

경우에 따라 파서 패키지의 'models.py'가 필요합니다. 셀러리를 시작하는 데 사용하는 명령은 다음과 같습니다 : celery -A settings worker --loglevel=info. 내가 manage.py에 셀러리를 실행하면 다음 오른쪽 파일을 가지고 : python manage.py celery -A settings worker --loglevel=info

API/task.py을

는 는
from __future__ import absolute_import, division, print_function, unicode_literals 
import time 
from celery import task 
from parser.models import FileUploadProcess # Error import 


@task() 
def test_task(param1): 
    print("Test task called. Param: {}".format(param1)) 
    return 42 


@task() 
def parse_file(file_candidate, candidate_id): 
    FileUploadProcess(candidate_id=candidate_id, is_process=True).save() 
    # parse file 
    time.sleep(15) 
    FileUploadProcess.objects.filter(candidate_id=candidate_id).update(is_process=False) 

어떻게 든 저를 잘 패키지를 가져옵니다 말할 수 있습니까? 당신은 사용할 필요가

답변

0

'from parser import models'

너무입니다 : 클래스 이름은 당신이

하거나

import parser.models as models 
+0

내가 다시 같은 오류가 가져올 클래스의 이름입니다

from parser.models import ClassName 

. – Krasimir

+0

스크립트에서 실행하는 기본 디렉토리는 무엇입니까? 기본 파이썬 [파서 모듈] (https://docs.python.org/3.3/library/parser.html)을 디렉토리에 하나 가져 오는 것 같습니다. – Zav

+0

파서의 이름을 다른 것으로 변경하려고 시도 할 수 있습니까? – Zav

관련 문제