django-admin 运行服务器错误 [英] django-admin runserver error

查看:74
本文介绍了django-admin 运行服务器错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我为 python 2.7 设置了 virtualenv

I set virtualenv for python 2.7

16% source Work/Django/env/bin/activate

下一步创建项目

django-admin startproject myproject

创建应用

cd myproject
django-admin startapp contact

并尝试运行开发服务器

16% django-admin runserver

我收到一个错误

回溯(最近一次调用最后一次):文件/home/dima/Work/Django/env/bin/django-admin",第 11 行,在sys.exit(execute_from_command_line())文件/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/core/management/init.py",第353行,在execute_from_command_line实用程序.execute()文件/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/core/management/init.py",第345行,执行self.fetch_command(subcommand).run_from_argv(self.argv)文件/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/core/management/init.py",第 195 行,在 fetch_commandklass = load_command_class(app_name, subcommand)文件/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/core/management/init.py",第 39 行,在 load_command_classmodule = import_module('%s.management.commands.%s' % (app_name, name))文件/usr/lib/python2.7/importlib/init.py",第 37 行,在 import_module 中导入(名称)文件/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py",第16行,在从 django.db.migrations.executor 导入 MigrationExecutor文件/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/migrations/executor.py",第7行,在从 .loader 导入 MigrationLoader文件/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/migrations/loader.py",第 10 行,在从 django.db.migrations.recorder 导入 MigrationRecorder文件/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/migrations/recorder.py",第12行,在类迁移记录器(对象):文件/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/migrations/recorder.py",第26行,在MigrationRecorder类迁移(模型.模型):文件/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/migrations/recorder.py",第 27 行,在迁移中app = models.CharField(max_length=255)文件/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/models/fields/init.py",第1072行,在<强>初始化super(CharField, self).init(*args, **kwargs)文件/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/models/fields/init.py",第166行,<强>初始化self.db_tablespace = db_tablespace 或 settings.DEFAULT_INDEX_TABLESPACE文件/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/conf/init.py",第 55 行,getattrself._setup(name)文件/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/conf/init.py",第 41 行,在 _setup% (desc, ENVIRONMENT_VARIABLE))django.core.exceptions.ImproperlyConfigured:请求设置 DEFAULT_INDEX_TABLESPACE,但未配置设置.在访问设置之前,您必须定义环境变量 DJANGO_SETTINGS_MODULE 或调用 settings.configure().如何修复此错误?

Traceback (most recent call last): File "/home/dima/Work/Django/env/bin/django-admin", line 11, in sys.exit(execute_from_command_line()) File "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/core/management/init.py", line 353, in execute_from_command_line utility.execute() File "/home/dima/Work/Django/env/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 "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/core/management/init.py", line 195, in fetch_command klass = load_command_class(app_name, subcommand) File "/home/dima/Work/Django/env/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/lib/python2.7/importlib/init.py", line 37, in import_module import(name) File "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 16, in from django.db.migrations.executor import MigrationExecutor File "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 7, in from .loader import MigrationLoader File "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 10, in from django.db.migrations.recorder import MigrationRecorder File "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 12, in class MigrationRecorder(object): File "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 26, in MigrationRecorder class Migration(models.Model): File "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 27, in Migration app = models.CharField(max_length=255) File "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/models/fields/init.py", line 1072, in init super(CharField, self).init(*args, **kwargs) File "/home/dima/Work/Django/env/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 "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/conf/init.py", line 55, in getattr self._setup(name) File "/home/dima/Work/Django/env/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. How fix this error?

推荐答案

如果你看看 manage.py 脚本做了什么(这个脚本是在 myproject当您运行 django-admin startproject myproject 时,它会导出环境变量 DJANGO_SETTINGS_MODULE,然后运行 ​​django-admin(好吧,它做到了通过 django.core 但它几乎可以做到这一点.

If you look at what the manage.py script does (this script was created inside the myproject directory when you ran django-admin startproject myproject), it exports the environment variable DJANGO_SETTINGS_MODULE and then runs django-admin (well, it does it through django.core but it does pretty much that).

django-admin 需要知道项目设置的 python 模块,并且该信息存在于该环境变量中.

django-admin needs to know the python module of the settings for your project, and that information is present in that environment variable.

因此,在 myproject 目录中,您应该运行:

Therefore, inside the myproject directory, you shall either run:

python manage.py runserver

并且 manage.py 脚本将为您进行环境设置,或者您可以强制 django-admin 读取设置位置从命令行:

and the manage.py script will do the environment setup for you, or you can force django-admin to read the settings location from the command line:

django-admin runserver --pythonpath=. --settings="myproject.settings"

如果您将项目目录包含在默认 pyhton 路径中,则不需要 --pythonpath 开关.

The --pythonpath switch is not needed if you included your project directory on the default pyhton path.

这篇关于django-admin 运行服务器错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆