2010-08-09 3 views
0

내가 그것을 실행되면 내가장고 '모듈'개체가 어떤 속성 'call_command'

def cmd_run(host="localhost", port="8000"): 
    """Run server at given host port (or localhost 8000)""" 
    from django.core import management 
    host_port = '%s:%s' % (host, port) 
    management.call_command('runserver', host_port) 

같은 기능을 썼다가없는 예외가 발생했습니다 :

Traceback (most recent call last): 
    File "/home/leona/workspace/bettyskitchen/lib/djangocliutils/bin/djangoctl", line 8, in <module> cli(*sys.argv[1:]) 
    File "/home/leona/workspace/bettyskitchen/lib/djangocliutils/cmds.py", line 119, in __call__ 
print method(*args) or "" 
    File "/home/leona/workspace/bettyskitchen/lib/djangocliutils/cmds.py", line 170, in __call__ 
    return self.method(*args, **kw) 
    File "/home/leona/workspace/bettyskitchen/lib/djangocliutils/djangocmds/basic.py", line 19, in cmd_run 
    management.call_command('runserver', host_port) 
AttributeError: 'module' object has no attribute 'call_command' 

내가 그것을 어떻게 해결할 수 있습니까?

답변

0

음, 여기가 작동 ... 어쩌면 당신의 버전의 장고는이 기능을 가지고 있지 않습니까? 관리되는 쉘 python manage.py shell에서 시도해보고 help(management)을 시도하여 해당 버전에 있는지 확인하십시오. 함수를 가져 오지 않고 django.core.management 디렉토리의 __init__.py 파일 (call_command가 정의 된 파일)이 손상되거나 수정 될 수 있습니다.

0

이 문제는 내가 사용하는 장고가 call_command 기능을 지원하지 0.96이었고, 해결, 그래서으로 변경 :

def cmd_run(host="localhost", port="8000"): 
    """Run server at given host port (or localhost 8000)""" 
    from django.core import management 
    management.runserver(host, port) 

하고 작동이 시간!

+1

나는 0.96을 사용하는 이유를 모르지만 가능한 경우 최신 버전으로 업그레이드하는 것이 좋습니다. –