Skip to main content
 首页 » 编程设计

python之在 settings.py 中运行 collectstatic 时出现语法错误(Django 1.5.1)

2024年11月01日35yjmyzz

我对 Python/Django/编码绝对是全新的,所以我知道我可能缺少一些非常简单的东西。解决这个问题的任何帮助都会很棒。提前致谢。

当我运行 python manage.py collectstatic 时,我进入了终端:

File "/Users/user/Desktop/mvp_landing/mvp_landing/settings.py", line 123 
INSTALLED_APPS = ( 
             ^ 
SyntaxError: invalid syntax 

在我的 settings.py 文件的第 123 行,INSTALLED_APPS:

INSTALLED_APPS = ( 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'django.contrib.admin', 
'django.contrib.admindocs', 
'south', 
'join', 
'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
) 

这是文件的其余部分(减去数据库信息等):

MEDIA_ROOT = "os.path.join(os.path.dirname(os.path.dirname(__file___))", "static", "media" 
 
MEDIA_URL = '/media/' 
 
STATIC_ROOT = "os.path.join(os.path.dirname(os.path.dirname(__file__))", "static", "static-only" 
 
STATIC_URL = '/static/' 
 
STATICFILES_DIRS = ( 
    "os.path.join(os.path.dirname(os.path.dirname(__file__))", "static", "static", 
) 
 
STATICFILES_FINDERS = ( 
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
#    'django.contrib.staticfiles.finders.DefaultStorageFinder', 
) 
 
SECRET_KEY = 'xxxxxxxxx' 
 
TEMPLATE_LOADERS = ( 
    'django.template.loaders.filesystem.Loader', 
    'django.template.loaders.app_directories.Loader', 
#     'django.template.loaders.eggs.Loader', 
) 
 
MIDDLEWARE_CLASSES = ( 
    'django.middleware.common.CommonMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
) 
 
ROOT_URLCONF = 'mvp_landing.urls' 
 
WSGI_APPLICATION = 'mvp_landing.wsgi.application' 
 
TEMPLATE_DIRS = ( 
    os.path.join(os.path.dirname(os.path.dirname(__file__)), "static", "templates", 
) 
 
INSTALLED_APPS = ( 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'django.contrib.admin', 
    'django.contrib.admindocs', 
    'south', 
    'join',    
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
) 

请您参考如下方法:

您在前几行中缺少括号:

TEMPLATE_DIRS = ( 
    os.path.join(os.path.dirname(os.path.dirname(__file__)), "static", "templates", 
) 

我数了 4 个开括号,但只有 3 个闭括号;您没有关闭 os.path.join() 调用:

TEMPLATE_DIRS = ( 
    os.path.join(os.path.dirname(os.path.dirname(__file__)), "static", "templates"), 
    #                                                     missing parens ---------^ 
) 

在 Python 中,当您遇到无法立即理解的语法错误时,请检查前面几行以确保您的大括号和圆括号正确平衡。对于每个烘烤 (、{ 或 [,必须 是一个匹配的结束 ) , } 或 ]。