Форум сайта python.su
Добрый день. Прошу вашей помощи в настройке production сервера: весь мозг уже сломал.
Суть проблемы: есть вот такая конфигурация папок сервера
PROJECT_PATH = path.join(os.path.dirname(__file__), '../') MEDIA_ROOT = path.join(PROJECT_PATH, '..', 'www', 'media') STATIC_ROOT = path.join(PROJECT_PATH, '..', 'www', 'static') TEMPLATE_DIRS = path.join(PROJECT_PATH, 'templates/') STATICFILES_DIRS = ( path.join(TEMPLATE_DIRS, 'static').replace('\\','/'), )
python manage.py collectstatic
urlpatterns = patterns( '', #bla bla bla ) + patterns( '', ( r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT} ) ) + patterns( '', ( r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT} ) )
STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'django.contrib.staticfiles.finders.DefaultStorageFinder', )
python manage.py shell >>> from project.settings import * >>> print STATIC_ROOT >>> print STATICFILES_DIRS
Отредактировано dkoldyaev (Окт. 15, 2013 11:54:03)
Офлайн
А зачем Вы статику запихали в шаблоны?
settings.py у меня лежит в отдельном каталоге.
Так работает.
SETTINGS_ROOT = os.path.dirname(__file__) def get_project_dir(name): return os.path.join(SETTINGS_ROOT, '..', name).replace('\\', '/') STATIC_ROOT = '' STATIC_URL = '/static/' STATICFILES_DIRS = ( get_project_dir('static'), )
Офлайн
FishHookА что, нельзя?
А зачем Вы статику запихали в шаблоны?
Офлайн
Права доступа проверьте у директории static - может быть серверу просто нельзя оттуда читать.
Какая именно ошибка доступа возникает при запросе файла напрямую?
Кто обслуживает выдачу статики браузеру?
Офлайн