当我运行django-admin migrate
时,我收到以下错误:
Traceback (most recent call last):
File "/usr/local/bin/django-admin", line 11, in <module>
sys.exit(execute_from_command_line())
File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 345, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 195, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 39, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 16, in <module>
from django.db.migrations.autodetector import MigrationAutodetector
File "/usr/local/lib/python2.7/site-packages/django/db/migrations/autodetector.py", line 13, in <module>
from django.db.migrations.questioner import MigrationQuestioner
File "/usr/local/lib/python2.7/site-packages/django/db/migrations/questioner.py", line 12, in <module>
from .loader import MigrationLoader
File "/usr/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 10, in <module>
from django.db.migrations.recorder import MigrationRecorder
File "/usr/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 12, in <module>
class MigrationRecorder(object):
File "/usr/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 26, in MigrationRecorder
class Migration(models.Model):
File "/usr/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 27, in Migration
app = models.CharField(max_length=255)
File "/usr/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 1072, in __init__
super(CharField, self).__init__(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 166, in __init__
self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE
File "/usr/local/lib/python2.7/site-packages/django/conf/__init__.py", line 55, in __getattr__
self._setup(name)
File "/usr/local/lib/python2.7/site-packages/django/conf/__init__.py", line 41, in _setup
% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
admin上的相同命令; py:python admin.py
完美无缺。我想这意味着我可以使用admin.py,但我想了解为什么django-admin
找不到我应用的移民。它使用的过程是什么?可能是什么问题?
答案 0 :(得分:1)
您收到错误,因为在运行django-admin
时,它不知道要使用哪个设置模块。您可以按照错误消息中的建议通过环境变量指定它,或者只在项目中使用manage.py
。
django-admin是Django用于管理的命令行实用程序 任务。
此外,在每个Django中自动创建manage.py 项目。 manage.py与django-admin做同样的事情,但要小心 为你做的一些事情:
- 它将您的项目包放在sys.path上。
- 设置DJANGO_SETTINGS_MODULE环境变量,使其指向项目的settings.py文件。
在此处查看更多内容:https://docs.djangoproject.com/en/1.9/ref/django-admin/