Я переместил свой django проект с разработки на свой производственный сервер. После развертывания я не могу просматривать файлы stati c на своих страницах.
Я знаю, что django не обслуживает файлы stati c после отключения отладки и пытался использовать whitenoise для обслуживания моих stati c файлы.
Попытка 1- WhiteNoise
Это изменения, которые я внес в settings.py
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
и wsgi.py:
from whitenoise.django import DjangoWhiteNoise
...
application = get_wsgi_application()
application = DjangoWhiteNoise(application)
, а затем запустить сборщик c. Однако мои веб-страницы все еще не загружали ни один из файлов stati c.
Попытка 2- Apache - mod_wsgi
Со второй попытки я попытался использовать apache + mod_wsgi Чтобы указать c Я подключился к своему VPS с помощью терминала в cpanel установил apache2 и следовал учебнику .
sudo apt-get install apache2
создал мой файл конфигурации
sudo nano new_config.conf
добавил это к нему
<VirtualHost *:80>
ServerName 127.0.0.1
ServerAlias localhost
Alias /static /var/gradientboostmvp/static/
WSGIScriptAlias / /var/gradientboostmvp/django_school/wsgi.py
<Directory /var/gradientboostmvp/>
Order deny,allow
Allow from all
</Directory>
DocumentRoot /var/gradientboostmvp
</VirtualHost>
включен Недавно созданный файл конфигурации виртуального хоста
sudo a2ensite new_config.conf
sudo /etc/init.d/apache2 restart
добавил мой WSGIPythonPath в apache2.config
WSGIPythonPath /var/gradientboostmvp
, сохранил изменения, но все еще не смог загрузить мои stati c файлы
Попытка 3 - Импортная подача
У меня также был похожий вопрос, который был закрыт как дубликат. Я попробовал решения, предложенные в ответах
from django.views.static import serve
...
urlpatterns = [
path('', classroom.home, name='home'),
path('about', classroom.about, name='about'),
path('courses', classroom.courses, name='courses'),
path('course_details', classroom.course_details, name='course_details'),
path('static',serve {'document_root':settings.STATIC_ROOT}),
, что привело к тому, что я получил сообщение об ошибке при попытке посетить домашнюю страницу
Неполный ответ получено из заявки