Устранение неполадок статических файлов Django для производства

BASE_DIR = Path(__file__).resolve().parent.parent

DEBUG = False

STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

INSTALLED_APPS has 'django.contrib.staticfiles'

This is how they're called in HTML
<img src="{% static 'capabilities-2.jpg' %}" class="img-fluid">

Displayed in my console:
[10/Sep/2022 17:39:50] "GET /css/index_styles.css HTTP/1.1" 404 179
[10/Sep/2022 17:39:50] "GET /js/scripts.js HTTP/1.1" 404 179
[10/Sep/2022 17:39:51] "GET /static/index/images/capabilities-2.jpg HTTP/1.1" 404 179
[10/Sep/2022 17:39:51] "GET /assets/favicon.ico HTTP/1.1" 404 179

Пытаюсь перейти от Dev к Production. У меня были изображения, работающие в разработке.

Если я проверяю изображения (или отсутствие изображений) в браузере, путь выглядит следующим образом:

Следует отметить, что я даже не вижу их при осмотре источника.

Я попробовал изменить путь /static/capabilities-2.jpg на /static/index/images/capabilities-2.jpg, как в моем проекте, но это все равно не помогло.

Я работаю на Linode, Ubuntu 22.04. Мне многое нравится в Django, но статические файлы представляют собой огромную PIMA.

Сервер статических файлов Django предназначен только для использования во время разработки. Во время производства используйте возможности статических файлов вашего веб-сервера:

Или, если вы используете другой, посмотрите документацию и/или погуглите его.

Среды разработки используются для создания проекта. Производственная среда - это сервер (или серверы), на котором размещен ваш публичный веб-сайт. Для производственной среды некоторые варианты выбора:

How to store static media? For example, Amazon S3 or CloudFront.
Which OS and distribution? For example, Debian, Red Hat, or OpenBSD.
Which WSGI server? For example, Gunicorn or uWSGI.
Which webserver? For example, Apache or Nginx.
Which database? For example, PostgreSQL, MySQL, or Redis.
Which caching system? For example, Memcached or Redis.
Which process control and monitoring system? For example, Upstart,
Systemd, or Supervisord.

Дополнительная информация: https://simpleisbetterthancomplex.com/tutorial/2021/06/27/how-to-start-a-production-ready-django-project.html

Вернуться на верх