Django не работает со статическими файлами на сервере dev - PullRequest
0 голосов
/ 11 декабря 2011

Не уверен, что я делаю неправильно, но я не могу заставить это работать.Я использую Django 1.3 и Python 2.7.

Структура моего проекта выглядит следующим образом:

project
   static
   templates
   settings.py
   apps
      ...

В моем файле settings.py у меня есть

PROJECT_ROOT = os.path.realpath(os.path.dirname(__file__))
STATIC_ROOT = os.path.realpath(os.path.join(PROJECT_ROOT, 'static'))
STATIC_URL = '/static'

myurls.py file:

from django.conf.urls.defaults import *
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^grappelli/', include('grappelli.urls')),
) 
urlpatterns += staticfiles_urlpatterns()

В моих шаблонах я использую {{ STATIC_URL }}, который создает правильный путь к моим файлам, например: /static/js/libs/modernizr-2.0.6.min.js.

Ни один из моих статических файлов не загружается, и я дважды проверил правильность структуры каталогов.Я чувствую, что принимаю сумасшедшие таблетки, поэтому любой совет приветствуется.Спасибо

Ответы [ 2 ]

2 голосов
/ 11 декабря 2011

Вы должны добавить полный путь к директории, куда вы помещаете ваши статические файлы в STATICFILES_DIRS в settings.py, например:

STATICFILES_DIRS = (
                '/path/to/static',
)
0 голосов
/ 11 декабря 2011

Либо добавьте STATICFILES_DIRS, как в предыдущем ответе, либо поместите каталог пакета, в котором есть «статический» каталог, в INSTALLED_APPS, потому что django будет автоматически обслуживать любой статический каталог в приложениях во время разработки. Если ваш каталог project не находится на пути Python и вы не планируете его импортировать, вам нужно определить STATICFILES_DIRS и указать абсолютный путь к статическому каталогу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...