我正在尝试 Build 一个在Python和Django上运行的软件 . 说明说使用以下命令生成SQL数据库:
python manage.py migrate
但是,当我这样做时,我收到以下错误:
python:Traceback(最近一次调用最后一次):在行:1 char:1 python manage.py migrate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :( Traceback(最近调用last):: String)[],RemoteException FullyQualifiedErrorId:NativeCommandError文件“manage.py”,第10行,在execute_from_command_line(sys.argv)文件“C:\ Python27 \ lib \ site-packages \ django \ core \ management__init __ . py“,第353行,在execute_from_command_line utility.execute()文件”C:\ Python27 \ lib \ site-packages \ django \ core \ management__init __ . py“,第302行,执行settings.INSTALLED_APPS文件“C:\ Python27 \ lib \ site-packages \ django \ conf__init __ . py”,第55行,在getattr self._setup(name)文件“C:\ Python27 \ lib \ site-packages \ django \ conf__init __ . py”中,第43行,在_setup中自我._wrapped =设置(settings_module)文件“C:\ Python27 \ lib \ site-packages \ django \ conf__init __ . py”,第99行,在init mod = importlib.import_module(self.SETTINGS_MODULE)文件中“ C:\ Python27 \ lib \ importlib__init __ . py“,第37行,在import_module导入中(na me)文件“F:\ directory \ settings.py”,第117行,在TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS(TypeError:只能连接列表(不是“元组”)到列表
这似乎表明问题出现在'settings.py'文件的第116行,我在下面有:
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os
from django.conf import global_settings
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'game',
'admin_views',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)
ROOT_URLCONF = 'cagweb.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'game/templates/')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'cagweb.wsgi.application'
# Database
# https://docs.djangoproject.com/en/1.8/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Internationalization
# https://docs.djangoproject.com/en/1.8/topics/i18n/
LANGUAGE_CODE = 'en-us'
#LANGUAGE_CODE = 'fr'
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.8/howto/static-files/
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
STATIC_URL = '/static/'
TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
)
有人可以帮我理解如何解决这个问题吗?
我不确定它是否相关,但我正在使用Windows 7,Python 2.7和Powershell来尝试运行该软件 .
先感谢您!如果我遗漏了任何信息,请告诉我,我会发布 .
2 回答
()
是一个空元组,而[]
表示一个空列表 .由于
global_settings.TEMPLATE_CONTEXT_PROCESSORS
是list
类型,因此您应该只将其连接到另一个列表:例1
例2
在示例代码的最后一行,您将添加
()
,这是第一个示例1,即空元组的文字 . 通过您的错误和示例2,我可以假设global_settings.TEMPLATE_CONTEXT_PROCESSORS
是一个列表,并且您正在尝试"list + tuple",这与__add__
不兼容并引发该异常 .尝试将最后一行更改为:
或者,如果由于某种未知的原因,你真的需要添加一些东西......