В моем приложении Django5 все работает в разработке в рамках Venv, но как только я загружаю приложение в контейнер Docker с Debug = false, я, кажется, не получаю должным образом. Что действительно странно, так это загрузка CSS, кажется правильным, я просто не получаю свой индивидуальный образ и цвета CSS Hero, а администратор CSS также сломан. Я использую снаряжение с Nginx, обслуживающим статические данные. Я вижу свой favicon.ico, который подается из той же / статической / папки, а папки CSS, JS и т. Д. Все существуют в контейнере NGINX, как и ожидалось. Я просматриваю источник и нажимаю на ссылки, и они все там.from pathlib import Path
import os
import environ
env = environ.Env(
DEBUG=(bool, False)
)
BASE_DIR = Path(__file__).resolve().parent.parent
environ.Env.read_env(os.path.join(BASE_DIR, '.env'))
SECRET_KEY = env('SECRET_KEY')
DEBUG = env('DEBUG')
ALLOWED_HOSTS = ['*']
.
.
.
STATIC_URL = '/static/'
STATIC_ROOT = '/usr/share/nginx/html/static/'
< /code>
в моем корневом urls.py:
urlpatterns = [
path("admin/", admin.site.urls),
.
.
.
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
< /code>
my dockerfile-compose.yaml включает в себя CollectStatic: < /p>
web:
build:
context: .
dockerfile: Dockerfile
command: >
sh -c "python manage.py collectstatic --noinput
&& python manage.py migrate
&& supervisord -c /etc/supervisor/conf.d/supervisord.conf"
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
- rabbitmq
environment:
- DATABASE_URL=postgres://mysite:fakepassword@db:5432/mysite
- CELERY_BROKER_URL=amqp://guest@rabbitmq//
< /code>
my dockerfile.nginx включает копирование статических данных в папку в его (отдельном) контейнере: < /p>
# Use the official Nginx image from the Docker Hub
FROM nginx:latest
# Copy the Nginx configuration file to the container
COPY nginx.conf /etc/nginx/nginx.conf
# Copy the SSL certificates to the container
COPY certificate.crt.pem /etc/nginx/ssl/certificate.pem
COPY certificate.key.pem /etc/nginx/ssl/private_key.pem
# Copy the static files from the Django container
COPY staticfiles /usr/share/nginx/html/static
COPY media /usr/share/nginx/html/media
# Expose port 443 for HTTPS
EXPOSE 443
< /code>
В контейнере Nginx (URL -адрес сайта заменен MySite) Я вижу: < /p>
nginx-1 | 172.18.0.1 - - [18/Feb/2025:20:39:49 +0000] "GET / HTTP/1.1" 200 6030 "https://mysite/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
nginx-1 | 172.18.0.1 - - [18/Feb/2025:20:39:49 +0000] "GET /static/css/styles.css HTTP/1.1" 304 0 "mysite" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
nginx-1 | 172.18.0.1 - - [18/Feb/2025:20:39:59 +0000] "GET / HTTP/1.1" 200 6030 "https://mysite/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
nginx-1 | 172.18.0.1 - - [18/Feb/2025:20:39:59 +0000] "GET /static/css/styles.css HTTP/1.1" 200 2269 "https://mysite/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
nginx-1 | 172.18.0.1 - - [18/Feb/2025:20:39:59 +0000] "GET /static/images/favicon.ico HTTP/1.1" 200 5879 "https://mysite/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
nginx-1 | 172.18.0.1 - - [18/Feb/2025:20:39:59 +0000] "GET /static/images/favicon.ico HTTP/1.1" 200 5879 "https://mysite/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
< /code>
Так что я, кажется, получаю 200 в своих реальных файлах CSS, но они не отражаются в моей программе. Ни один из файлов администратора CSS не отображается, но их загружают. Я озадачен, любая помощь будет оценена спасибо!
Подробнее здесь: https://stackoverflow.com/questions/794 ... production
Django css не рендеринг в производстве ⇐ CSS
Разбираемся в CSS
1739917398
Anonymous
В моем приложении Django5 все работает в разработке в рамках Venv, но как только я загружаю приложение в контейнер Docker с Debug = false, я, кажется, не получаю должным образом. Что действительно странно, так это загрузка CSS, кажется правильным, я просто не получаю свой индивидуальный образ и цвета CSS Hero, а администратор CSS также сломан. Я использую снаряжение с Nginx, обслуживающим статические данные. Я вижу свой favicon.ico, который подается из той же / статической / папки, а папки CSS, JS и т. Д. Все существуют в контейнере NGINX, как и ожидалось. Я просматриваю источник и нажимаю на ссылки, и они все там.from pathlib import Path
import os
import environ
env = environ.Env(
DEBUG=(bool, False)
)
BASE_DIR = Path(__file__).resolve().parent.parent
environ.Env.read_env(os.path.join(BASE_DIR, '.env'))
SECRET_KEY = env('SECRET_KEY')
DEBUG = env('DEBUG')
ALLOWED_HOSTS = ['*']
.
.
.
STATIC_URL = '/static/'
STATIC_ROOT = '/usr/share/nginx/html/static/'
< /code>
в моем корневом urls.py:
urlpatterns = [
path("admin/", admin.site.urls),
.
.
.
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
< /code>
my dockerfile-compose.yaml включает в себя CollectStatic: < /p>
web:
build:
context: .
dockerfile: Dockerfile
command: >
sh -c "python manage.py collectstatic --noinput
&& python manage.py migrate
&& supervisord -c /etc/supervisor/conf.d/supervisord.conf"
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
- rabbitmq
environment:
- DATABASE_URL=postgres://mysite:fakepassword@db:5432/mysite
- CELERY_BROKER_URL=amqp://guest@rabbitmq//
< /code>
my dockerfile.nginx включает копирование статических данных в папку в его (отдельном) контейнере: < /p>
# Use the official Nginx image from the Docker Hub
FROM nginx:latest
# Copy the Nginx configuration file to the container
COPY nginx.conf /etc/nginx/nginx.conf
# Copy the SSL certificates to the container
COPY certificate.crt.pem /etc/nginx/ssl/certificate.pem
COPY certificate.key.pem /etc/nginx/ssl/private_key.pem
# Copy the static files from the Django container
COPY staticfiles /usr/share/nginx/html/static
COPY media /usr/share/nginx/html/media
# Expose port 443 for HTTPS
EXPOSE 443
< /code>
В контейнере Nginx (URL -адрес сайта заменен MySite) Я вижу: < /p>
nginx-1 | 172.18.0.1 - - [18/Feb/2025:20:39:49 +0000] "GET / HTTP/1.1" 200 6030 "https://mysite/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
nginx-1 | 172.18.0.1 - - [18/Feb/2025:20:39:49 +0000] "GET /static/css/styles.css HTTP/1.1" 304 0 "mysite" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
nginx-1 | 172.18.0.1 - - [18/Feb/2025:20:39:59 +0000] "GET / HTTP/1.1" 200 6030 "https://mysite/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
nginx-1 | 172.18.0.1 - - [18/Feb/2025:20:39:59 +0000] "GET /static/css/styles.css HTTP/1.1" 200 2269 "https://mysite/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
nginx-1 | 172.18.0.1 - - [18/Feb/2025:20:39:59 +0000] "GET /static/images/favicon.ico HTTP/1.1" 200 5879 "https://mysite/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
nginx-1 | 172.18.0.1 - - [18/Feb/2025:20:39:59 +0000] "GET /static/images/favicon.ico HTTP/1.1" 200 5879 "https://mysite/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
< /code>
Так что я, кажется, получаю 200 в своих реальных файлах CSS, но они не отражаются в моей программе. Ни один из файлов администратора CSS не отображается, но их загружают. Я озадачен, любая помощь будет оценена спасибо!
Подробнее здесь: [url]https://stackoverflow.com/questions/79449675/django-css-not-rendering-in-production[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия