Недавно я развернул приложение на базе Django, но у меня возникли проблемы со статическими файлами. Иногда (и только иногда) я получаю внутренняя ошибка сервера 500 в получении статических файлов, таких как css / js / image. Пожалуйста, взгляните на эти изображения:
Первый запрос:
Второй:
и последний запрос:
Вы можете видеть, что в трех отдельных запросах я получил разные результаты в статических файлах.
Журнал Apache:
[Wed Oct 10 16:00:08 2012] [error] [client 37.98.23.93] File "/usr/lib/python2.6/site-packages/django/utils/decorators.py", line 91, in _wrapped_view, referer: http://mydomain.biz/static/style/main.css
[Wed Oct 10 16:00:08 2012] [error] [client 37.98.23.93] response = view_func(request, *args, **kwargs), referer: http://mydomain.biz/static/style/main.css
[Wed Oct 10 16:00:08 2012] [error] [client 37.98.23.93] File "/usr/lib/python2.6/site-packages/django/views/defaults.py", line 32, in server_error, referer: http://mydomain.biz/static/style/main.css
[Wed Oct 10 16:00:08 2012] [error] [client 37.98.23.93] t = loader.get_template(template_name) # You need to create a 500.html template., referer: http://mydomain.biz/static/style/main.css
[Wed Oct 10 16:00:08 2012] [error] [client 37.98.23.93] File "/usr/lib/python2.6/site-packages/django/template/loader.py", line 145, in get_template, referer: http://mydomain.biz/static/style/main.css
[Wed Oct 10 16:00:08 2012] [error] [client 37.98.23.93] template, origin = find_template(template_name), referer: http://mydomain.biz/static/style/main.css
[Wed Oct 10 16:00:08 2012] [error] [client 37.98.23.93] File "/usr/lib/python2.6/site-packages/django/template/loader.py", line 138, in find_template, referer: http://mydomain.biz/static/style/main.css
[Wed Oct 10 16:00:08 2012] [error] [client 37.98.23.93] raise TemplateDoesNotExist(name), referer: http://mydomain.biz/static/style/main.css
[Wed Oct 10 16:00:08 2012] [error] [client 37.98.23.93] TemplateDoesNotExist: 500.html, referer: http://mydomain.biz/static/style/main.css
У меня есть Apache 2. * и Django 1.4.1 с Python 2.6 на CentOS 5.
Проблема решена, но я не знаю почему. Раньше я использовал этот маршрут для статических файлов:
urlpatterns += staticfiles_urlpatterns()
и после установки этого пользовательского маршрута все в порядке:
urlpatterns += patterns('',
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/home/path_to/static'}),
)