Статические файлы не обслуживаются из отдельного приложения django staticfile

Я использую webfaction для создания простого статического веб-сайта. Я думаю, что все сделал правильно, но все равно мои статические файлы (т.е. css, изображения) не обслуживаются. Я использовал это руководство для настройки:

http://docs.webfaction.com/software/django/getting-started.html

Я сделал все, что они мне сказали, поэтому вкратце:

1) сделал отдельное статическое медиа-приложение

2) обновлены настройки.py

3) побежал

python manage.py collectstatic 

Все вышеперечисленное прошло в значительной степени по плану, и теперь я могу видеть свои статические файлы в приложении staticfile, которое я назвал personalsitestatic. Мое приложение django называется personalsite.

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

  • webapps
    • htdocs
    • personalsite
      • apache2
      • мусорное ведро
      • библиотека
      • PersonalWebsite
        • manage.py
        • PersonalWebsite
          • settings.py, urls.py, ect
        • main
          • settings.py, urls.py, static files directory, ect
    • personalstiestatic
      • bootstrap
      • обычай

Вот как выглядят соответствующие значения в моем файле settings.py:

STATIC_ROOT = '/home/<myname>/webapps/personalsitestatic/'
STATIC_URL = 'http://<sitename>.com/static/'
TEMPLATE_DIRS = (
"/home/<myname>/webapps/personalsite/PersonalWebsite/templates/",)

У меня нет дополнительных статических каталогов за пределами основного/статического, поэтому я не использую STATIC_DIRS. Шаблоны, кажется, загружаются нормально, только ни один из статических файлов. Когда я проверяю элемент отладчика/проверки firefox, он просто говорит, что «таблица стилей не может быть загружена». Может ли кто-нибудь помочь мне здесь или хотя бы дать мне несколько советов по отладке?


person ohhh    schedule 16.01.2014    source источник
comment
это выглядит правильно, вам, возможно, придется поставить билет с вашими парнями из веб-фракции. правильно ли работает администратор django? я знаю, что они предлагают аналогичные инструкции, чтобы /static/admin работал.   -  person Chris Hawkes    schedule 16.01.2014
comment
Я не использую администратора django, поэтому я не уверен в этом.   -  person ohhh    schedule 16.01.2014


Ответы (2)


Я был глуп и не монтировал его к / static URL, надеюсь, это кому-то поможет!

person ohhh    schedule 17.01.2014

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

Alias /media/ /home/USERNAME/webapps/APPNAME/media/
Alias /static/ /home/USERNAME/webapps/APPNAME/staticfiles/

Обратите внимание, что я хранил статические и медиа-папки вне папки «myproject» (та, которая содержит py-файлы), поскольку у меня есть крючок в репозитории git для самостоятельного развертывания приложения, поэтому я не хочу, чтобы эти файлы мешали.

person Luigi Polvani    schedule 10.05.2015