2012-02-24 2 views
2

현재 장고에 대한 두 개의 심볼릭 링크를 /Users/hobbes3/Sites/에 만들었습니다. ls -l는 보여줍니다 mysite/가 (공식 설문 조사 튜토리얼에서 내장) 내 유일한 장고 프로젝트입니다Django : django-admin.py와 함께 가져 오기 오류

lrwxr-xr-x 1 hobbes3 staff 66B Feb 23 04:16 django -> /usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/ 
lrwxr-xr-x 1 hobbes3 staff 85B Feb 23 01:01 django-admin.py -> /usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/bin/django-admin.py 
drwxr-xr-x 15 hobbes3 staff 510B Feb 24 16:04 mysite/ 

를 다음과 같습니다. 내가 python django-admin.py를 입력하면

는 모든 것을 내가 inspectdb 명령을 사용하려고하면

[email protected]:~/Sites$ python django-admin.py 
Usage: django-admin.py subcommand [options] [args] 

Options: 
    -v VERBOSITY, --verbosity=VERBOSITY 
         Verbosity level; 0=minimal output, 1=normal output, 
         2=all output 
    --settings=SETTINGS The Python path to a settings module, e.g. 
         "myproject.settings.main". If this isn't provided, the 
         DJANGO_SETTINGS_MODULE environment variable will be 
         used. 
    --pythonpath=PYTHONPATH 
         A directory to add to the Python path, e.g. 
         "/home/djangoprojects/myproject". 
    --traceback   Print traceback on exception 
    --version    show program's version number and exit 
    -h, --help   show this help message and exit 

Type 'django-admin.py help <subcommand>' for help on a specific subcommand. 

Available subcommands: 
    cleanup 
    compilemessages 
    createcachetable 
    dbshell 
    diffsettings 
    dumpdata 
    flush 
    inspectdb 
    loaddata 
    makemessages 
    reset 
    runfcgi 
    runserver 
    shell 
    sql 
    sqlall 
    sqlclear 
    sqlcustom 
    sqlflush 
    sqlindexes 
    sqlinitialdata 
    sqlreset 
    sqlsequencereset 
    startapp 
    startproject 
    syncdb 
    test 
    testserver 
    validate 

는하지만, 난 내가 잘 프로젝트를 시작할 수 있습니다 것으로 나타났습니다

[email protected]:~/Sites$ python django-admin.py inspectdb doors-eer 
Traceback (most recent call last): 
    File "django-admin.py", line 5, in <module> 
    management.execute_from_command_line() 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/core/management/__init__.py", line 429, in execute_from_command_line 
    utility.execute() 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/core/management/__init__.py", line 379, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/core/management/__init__.py", line 261, in fetch_command 
    klass = load_command_class(app_name, subcommand) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/core/management/__init__.py", line 67, in load_command_class 
    module = import_module('%s.management.commands.%s' % (app_name, name)) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/core/management/commands/inspectdb.py", line 5, in <module> 
    from django.db import connections, DEFAULT_DB_ALIAS 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/db/__init__.py", line 14, in <module> 
    if not settings.DATABASES: 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/utils/functional.py", line 276, in __getattr__ 
    self._setup() 
    File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/django/conf/__init__.py", line 40, in _setup 
    raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE) 
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined. 

가져 오기 오류를 얻을 잘 작동 python django-admin.py startproject asd.

저는 Python 2.7.2 및 Django 1.3.1을 실행하고 있습니다.

답변

4

django-admin.py는/Users/hobbes3/Sites/mysite에 있어야하는 settings.py 파일을 찾고 있습니다.

~/Sites/mysite로 cd하면 django-admin.py inspectdb를 실행하여 제대로 작동하는지 확인하십시오.

여기서는 settings.py에 DATABASE 변수를 설정했다고 가정합니다.

또한 프로젝트를 생성 한 후에는 장고를 사용하는보다 일반적인 방법은 프로젝트를 생성 한 후에 manage.py inspectdb를 호출하는 것입니다. django-admin.py를 호출하면 환경 변수가 올바르게 설정되지 않고 Django가 settings.py 파일을 찾지 못합니다.

+0

그럼'cd mysite'는'python ../django-admin.py inspectdb door-eer'를 실행하고 나에게도 같은 에러를줍니다. 'settings.py' 파일을 열고'DATABASE' 변수가 올바르게 설정되었는지 확인했습니다 ... – hobbes3

+2

/mysite 디렉토리로 변경 한 후 인수없이 python manage.py inspectdb를 실행하십시오. –

+0

오, 방금'django-admin.py' 대신'mysite'에서'manage.py'를 사용한다고 들었습니다. 고마워, 지금 당장 나를 위해 일했다. 이제'doors-eer' 데이터베이스를 읽으려면 임시로 새로운 프로젝트를 생성 한 다음'inspectdb'를 실행하면됩니다. – hobbes3