Спасибо Дэниелу Роузману за объяснение и предоставил мне возможность изучить его самостоятельно (и теперь я не забуду!): -).
Изначально я был в замешательстве и не знал, что вам сначала нужно собрать статических файлов, а затем сказать Apache обслужить . Я подумал, что просто использовать STATICFILES_DIRS
и включить приложение static
в settings.py
было бы достаточно.
Итак, вот как я это сделал (и, пожалуйста, дайте мне знать, если бы я мог сделать это лучше):
В settings.py
STATIC_ROOT = '/var/www/localhost/htdocs/mysite/static/'
STATIC_URL = '/static/' # default
Кажется, Django уже знает, где собирать файлы администратора, вам не нужно ничего указывать в STATICFILES_DIRS
, если вам не нужно обслуживать ваши собственные пользовательские файлы (чего я не делаю, и поэтому у меня не было опыта работы с статические файлы в Django).
Затем на /var/www/localhost/htdocs/mysite/
введите python manage.py collectstatic -l
. -l
означает создание символической ссылки на все найденные статические файлы вместо ее копирования (экономия места).
Затем отредактируйте файл конфигурации Apache (обычно httpd.conf
) и добавьте информацию STATIC_URL
. Мой конфигурационный файл только для Django выглядит так:
Alias /static/ /var/www/localhost/htdocs/mysite/static/
#In the form of...
#Alias STATIC_URL STATIC_ROOT
<Directory /var/www/localhost/htdocs/mysite/static>
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias / /var/www/localhost/htdocs/mysite/mysite/wsgi.py
WSGIPythonPath /var/www/localhost/htdocs/mysite
<Directory /var/www/localhost/htdocs/mysite/mysite>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
Затем перезапустите Apache и готово!