django - 加载静态文件的服务器错误

时间:2013-03-15 08:54:09

标签: django static django-staticfiles

所以我建立自己的django网站。现在我坚持加载静力学。 我在控制台中收到以下错误:

 GET http://localhost:8000/static/css/style.css 500 (Internal Server Error)

我尝试使用静态标记加载css文件:

{{ STATIC_URL }}

在我的设置中,我编辑了以下内容:

PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))

STATIC_ROOT = os.environ.get('STATIC_ROOT',os.path.join(PROJECT_ROOT,"static",))
STATIC_URL = '/static/'


STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, "static",),
)

还添加了TEMPLATE_CONTEXT_PROCESSORS:

TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'django.core.context_processors.static',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
)

将以下内容添加到urls.py中,以便我可以导航到localhost:8000 / static /

urlpatterns += patterns('',
(r'^static/(?P<path>.*)$',
'django.views.static.serve',
{'document_root': settings.STATIC_ROOT}),
)

我不是在冒犯我做错了什么。 PROJECT_ROOT指向项目的根目录。我也将它用于我的TEMPLATE_DIR,并且工作正常。

希望有人能开导我!我一直在谷歌上搜索,并查看其他问题,但据我所知,我做了我应该做的一切!

提前thx !!

3 个答案:

答案 0 :(得分:1)

你在STATICFILES_DIRS中有STATIC_ROOT!这是不正确的。

不确定您的问题是否与此相关,但最终显示对django静态文件管理缺乏了解。

也许在阅读this article之后,您将完全理解它并能够正确设置它。

你不需要DEBUG = True:

urlpatterns += patterns('',
(r'^static/(?P<path>.*)$',
'django.views.static.serve',
{'document_root': settings.STATIC_ROOT}),
)

答案 1 :(得分:1)

好吧,我遇到了同样的问题,然后我看到了这条错误消息:

  

“您的STATICFILES_DIRS设置不是元组或列表;”   django.core.exceptions.ImproperlyConfigured:你的STATICFILES_DIRS   设置不是元组或列表;也许你忘记了一个尾随的逗号?“

所以,我转换了

的结果
(os.path.join(BASE_DIR, 'static'))

列表:

STATICFILES_DIRS = [(os.path.join(BASE_DIR, 'static'))]

希望这有助于某人。

答案 2 :(得分:0)

Change the your debug into DEBUG=False