Каталог статических файлов django

Я установил мой каталог STATIC_ROOT в моем settings.py. Оболочка печатает путь прямо там, где находятся файлы. Но при рендеринге шаблона на / comp / xyz статические файлы не загружаются.

http://127.0.0.1:8000/static/js/jquery.min.js

Это ссылка, отображаемая STATIC_URL. это правильно. Но файлов нет.

>>> print(settings.STATIC_ROOT)
/home/mandaro/django/comp/static/
>>> 

есть все мои статические файлы. Поэтому, когда я вставляю {{STATIC_ROOT}} css / jquery.min.js в свои шаблоны. Почему это не работает? Есть идеи?


person oranj33    schedule 08.12.2014    source источник
comment
это отладочный веб-сервер? вы используете staticfiles_urlpatterns для их обслуживания?   -  person DRC    schedule 08.12.2014
comment
ты отладить веб-сервер. нет staticfiles_urlpatterns. только STATIC_ROOT и STATIC_URL.   -  person oranj33    schedule 08.12.2014


Ответы (1)


вам действительно следует прочитать документацию об обслуживании статических файлов.

В любом случае, вероятно, вы должны добавить что-то вроде этого в свои URL-адреса:

from django.conf import settings
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

if settings.DEBUG:
    urlpatterns += staticfiles_urlpatterns()
    urlpatterns += static(settings.MEDIA_URL,
                          document_root=settings.MEDIA_ROOT)

РЕДАКТИРОВАТЬ:

После вашего редактирования я увидел, что вы используете {{ STATIC_ROOT }} вместо {{ STATIC_URL }}, это опечатка? Также я действительно советую вам переключиться на тег шаблона {% static %}, потому что он более переносим с различными хранилищами.

person DRC    schedule 08.12.2014
comment
я прочитал это да. но мне не нужен media_root. Я тоже не планирую запускать в производство. так что мне нужно сначала выучить это. легко и чисто. почему не работает? - person oranj33; 08.12.2014
comment
@ oranj33 Следует отметить, что только последняя строка касается медиафайлов. - person DRC; 08.12.2014
comment
да, я понимаю :) и я ценю это. но по какой причине файлы не показывались? Кстати. я попробую это - person oranj33; 08.12.2014
comment
@ oranj33, как я уже сказал, причина указана в документации, в поле с названием Serving the files - person DRC; 08.12.2014