Django:使用Django-admin.py导入错误

Django:使用Django-admin.py导入错误,django,Django,目前,我在/Users/hobbes3/Sites/中为Django创建了两个符号链接。ls-l显示以下内容 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

目前,我在/Users/hobbes3/Sites/中为Django创建了两个符号链接。ls-l显示以下内容

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/
其中mysite/是我根据官方民意测验教程构建的唯一Django项目

当我键入python django-admin.py时,一切正常

hobbes3@hobbes3:~/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
我注意到我可以使用Pythondjango-admin.py startproject asd很好地启动项目


我正在运行Python 2.7.2和Django 1.3.1。

Django-admin.py正在查找您的settings.py文件,该文件应位于/Users/hobbes3/Sites/mysite中

如果您将cd刻录到~/Sites/mysite,然后运行django-admin.py inspectdb doors-eer,这样应该可以正常工作

这假设您在settings.py中设置了数据库变量


此外,在创建项目后,使用Django的更传统方法是在创建项目后调用manage.py inspectdb。通过调用django-admin.py,环境变量无法正确设置,django无法找到您的settings.py文件。

django-admin.py正在查找您的settings.py文件,该文件应位于/Users/hobbes3/Sites/mysite中

如果您将cd刻录到~/Sites/mysite,然后运行django-admin.py inspectdb doors-eer,这样应该可以正常工作

这假设您在settings.py中设置了数据库变量


此外,在创建项目后,使用Django的更传统方法是在创建项目后调用manage.py inspectdb。通过调用django-admin.py,环境变量无法正确设置,django也找不到您的settings.py文件。

Ok,因此我将cd mysite放在光盘上,然后运行python../django-admin.py inspectdb door eer,它仍然会给我同样的错误。我打开了settings.py,验证了我的数据库变量设置正确……在切换到/mysite目录后,运行python manage.py inspectdb,不带任何参数。哦,我刚刚意识到你说在mysite中使用manage.py而不是django-admin.py。谢谢你,这对我现在起作用了。现在我只需要创建一个新的临时项目来读取doors eer数据库,然后运行inspectdb。但是在将来,如何修复django-admin.py命令?当您使用python创建项目时,django-admin.py startproject myproject django将创建一个名为“myproject”的目录,并将预先填充该目录,其中包含开始使用django时所需的所有文件:settings.py manage.py url.pyOk,因此我将cd mysite,然后运行python../django-admin.py检查DB门eer,它仍然给我同样的错误。我打开了settings.py,验证了我的数据库变量设置正确……在切换到/mysite目录后,运行python manage.py inspectdb,不带任何参数。哦,我刚刚意识到你说在mysite中使用manage.py而不是django-admin.py。谢谢你,这对我现在起作用了。现在我只需要创建一个新的临时项目来读取doors eer数据库,然后运行inspectdb。但是在将来,如何修复django-admin.py命令?当您使用python创建项目时,django-admin.py startproject myproject将创建一个名为“myproject”的目录,并将使用开始使用django:settings.py manage.py url.py所需的所有文件预填充该目录
hobbes3@hobbes3:~/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.