Django - Can't get static CSS files to load

Я запускаю сервер разработки Django (runserver) на своей локальной машине (Mac OS X) и не могу добиться загрузки файлов CSS.

Вот соответствующие записи в settings.py:

STATIC_ROOT = '/Users/username/Projects/mysite/static/'

STATIC_URL = '/static/'

STATICFILES_DIRS = (
'/Users/thaymore/Projects/mysite/cal/static',
)

STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#'django.contrib.staticfiles.finders.DefaultStorageFinder',
)

INSTALLED_APPS = (
# other apps ...
'django.contrib.staticfiles',
)

В моем views.py я запрашиваю контекст:

return render_to_response("cal/main.html",dict(entries=entries),context_instance=RequestContext(request))

А в моем шаблоне {{ STATIC_URL }} рендерится правильно:

<link type="text/css" href="{{ STATIC_URL }}css/main.css" />

Превращается в:

<link type="text/css" href="/static/css/main.css"/>

Где на самом деле находится файл. Я также запустил collectstatic, чтобы убедиться, что все файлы были собраны.

У меня также есть следующие строки в моем urls.py:

from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns += staticfiles_urlpatterns()

Я новичок в Django, поэтому, возможно, упускаю что-то простое - буду благодарен за любую помощь.

50
задан tchaymore 27 September 2011 в 08:59
поделиться

2 ответа

добавьте следующее в settings.py

STATIC_URL = '/static/'
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')  
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
0
ответ дан 7 November 2019 в 10:46
поделиться

У меня есть та же проблема (сервер ununtu 16.04).

Это помогло мне

Python manage.py collectstatic - noinput

0
ответ дан 7 November 2019 в 10:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: