django - Server error loading static files

浪尽此生 提交于 2019-12-02 06:52:36

问题


So im building my own django site. Right now im stuck with loading the statics. im getting the following error in the console:

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

Im trying to load a css file using the static taggs:

{{ STATIC_URL }}

in my settings i've edited the following:

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",),
)

also added the 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',
)

added the following to urls.py so i can navigate to localhost:8000/static/

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

I'm not sute what im doing wrong. The PROJECT_ROOT is directing to the root of the project. I'm also using that for my TEMPLATE_DIR, and that works fine.

Hopefully someone can enlighten me! I've been googling around, and looked at other questions, but as far as i can see, i did everything how i'm supposed to!

Thx in advance!!


回答1:


Change the your debug into DEBUG=False



回答2:


You have STATIC_ROOT in STATICFILES_DIRS ! That's incorrect.

Not sure if your issue is related to that, but it definitively show a lack of understanding of django staticfiles management.

Maybe after reading this article you'll understand it fully and be able to set it up right.

And you don't need this with DEBUG=True:

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



回答3:


Well, I had the same problem, and then I saw this error message:

"Your STATICFILES_DIRS setting is not a tuple or list; " django.core.exceptions.ImproperlyConfigured: Your STATICFILES_DIRS setting is not a tuple or list; perhaps you forgot a trailing comma?"

So, I converted the result of

(os.path.join(BASE_DIR, 'static'))

To a list:

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

Hope this help somebody.



来源:https://stackoverflow.com/questions/15428146/django-server-error-loading-static-files

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!