Я нахожусь в процессе настройки веб-сервера Apache на виртуальной машине Ubuntu с использованием Django с целью его настройки для работы.Я использовал это пошаговое руководство , чтобы запустить Apache и Django, и с тех пор следую официальному учебнику , предоставленному в Django docs * 1006.*.Я получил до Part 6 , в котором обсуждается управление статическими файлами, но я не могу применить стиль.
Сокращенная файловая структура сервера:
/etc/
--apache2/
----apache2.conf
....
/build/
--django/ <-- Django installation
--tstdj/ <-- target project
----manage.py
----polls/
------...
------static/
--------polls
----------styles.css
------templates/
----------....
----------index.html
------urls.py
------views.py
----static/
------....
------polls/
--------styles.css
----tstdj/
------....
------settings.py
------urls.py
------wsgi.py
/ etc / apache2 / apache2.conf:
....
WSGIDaemonProcess www-data processes=2 threads=12 python-path=/build/tstdj
WSGIProcessGroup www-data
WSGIRestrictEmbedded On
WSGILazyInitialization On
WSGIScriptAlias / /build/tstdj/tstdj/wsgi.py
Alias /static/ /build/tstdj/static
<Directory /build/tstdj/tstdj>
Require all granted
</Directory>
<Directory /build/tstdj/static>
Require all granted
</Directory>
<Directory /static>
Require all granted
</Directory>
/ build / tstdj / tstdj / settings.py:
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
....
STATIC_ROOT = BASE_DIR + '/static/'
STATIC_URL = '/static/'
STATICFILES_DIRS = [
'/build/tstdj/polls/static',
]
#STATIC_DIRS = 'static'
STATICFILES_FINDERS = [
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]
/ build / tstdj / polls / templates/polls/index.html:
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'polls/styles.css' %}">
<p><span>My name Jeff</span></p>
{% if latest_question_list %}
<ul>
{% for question in latest_question_list %}
<li><a href="{% url 'polls:detail' question.id %}">{{ question. question_text }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No polls are available.</p>
{% endif %}
/ build / tstdj / polls / static / polls / styles.css:
li a {
color: green;
}
Очевидно, что в этом случае желаемым результатом являетсяесть зеленые ссылки.Вкладка «Сеть» инспектора показывает 403 ошибки в файле styles.css, как и попытка сразу перейти к localhost:8080/static/
.
Я запустил python manage.py collectstatic
и sudo service apache2 restart
Господь знает, сколько раз.Я знаю, что есть способы заставить работать стили в разработке, но я еще не получил их функциональность для производства.