Форум сайта python.su
Суть проблемы:
При запуске на локальном компьютере всё работает, на серевере же выдает :
==> python/logs/appserver.log <== 127.4.210.129 - - [2013-08-21 12:58:07] "GET / HTTP/1.1" 200 1315 0.004668 127.4.210.129 - - [2013-08-21 12:58:07] "GET /static/blog/css/bootstrap.css HTTP/1.1" 404 2118 0.005347 127.4.210.129 - - [2013-08-21 12:58:08] "GET /static/blog/css/bootstrap-responsive.css HTTP/1.1" 404 2151 0.004989 127.4.210.129 - - [2013-08-21 12:58:08] "GET /static/blog/js/bootstrap.min.js HTTP/1.1" 404 2124 0.005177 127.4.210.129 - - [2013-08-21 12:58:08] "GET /static/blog/js/jquery.js HTTP/1.1" 404 2103 0.004873 127.4.210.129 - - [2013-08-21 12:58:08] "GET /static/blog/js/bootstrap.min.js HTTP/1.1" 404 2124 0.005036
STATIC_ROOT = '' STATIC_URL = '/static/' # Additional locations of static files STATICFILES_DIRS = ( os.path.join(PROJECT_DIR, '..', 'static'), )
Отредактировано wwnnbb (Авг. 21, 2013 14:28:05)
Офлайн
Проверенный годами вариант:
В settings.py:
ROOT = os.path.dirname(os.path.realpath(__file__))
MEDIA_ROOT = os.path.join(ROOT, 'static')
MEDIA_URL = '/static/'
STATIC_ROOT = os.path.join(ROOT, 'static/pub')
STATIC_URL = '/static/pub/'
STATICFILES_DIRS = ()
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
from django.conf.urls import *
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = patterns('',
....
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Офлайн
Не помогло
Офлайн
Офлайн
> Не помогло
На сервере надо сделать manage.py collectstatic и правильно настроить веб-сервер.
Если у вас 404, вы можете в error log сервера посмотреть откуда именно он файлы пытается прочитать, если из неправильного места, разбирайтесь с веб-серером, иначе - с джанго-проектом.
Офлайн
lorien
Проверенный годами вариант:
Офлайн
Budulianin, Статика на сервере отдаётся через nginx из STATIC_ROOT, куда она попадает с помощью команды collectstatic. Строка:
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Офлайн
lorienвопрос если на сервере есть файл .htaccess с содержнием :
Budulianin, Статика на сервере отдаётся через nginx из STATIC_ROOT, куда она попадает с помощью команды collectstatic. Строка:
RewriteEngine On RewriteRule ^application/static/(.+)$ /static$1 [L]
Отредактировано wwnnbb (Авг. 29, 2013 18:00:53)
Офлайн
lorienЭто знаю, а вот:
куда она попадает с помощью команды collectstatic.
lorienНе знал, посмотрел в код, теперь знаю :)
Выполняется только в DEBUG=True режиме
Отредактировано Budulianin (Авг. 29, 2013 21:06:30)
Офлайн
wwnnbb вебсервером статика отдается из wsgi/static
как она туда попадет твоя забота.
EDIT: был неправ, вижу что там у тебя файлы есть, но они не доступны, фиг знает почему
Отредактировано bismigalis (Авг. 29, 2013 22:03:52)
Офлайн