Параметры MEDIA_ROOT и MEDIA_URL нужны для указания места хранения файлов, загруженных пользователями.
Вот, что написано в комментариях к данным параметрам в settings.py:
Но все хорошо, если сайт у нас запущен по адресу http://127.0.0.1:80/. Попробовал я запустить его по адресу http://192.168.0.5/, чтобы сделать доступным для компьютеров моей локальной сети, как все картинки перестали отображаться:
Чтобы этого избежать MEDIA_URL нужно задать относительно:
После этого картинки будут отображаться всегда, по какому бы адресу мы сайт не запустили, используя встроенный в Django сервер разработки: manage.py runserver 192.168.0.5:80.
Конечно, при реальном развертывании проекта будут использоваться другие средства. Так, к примеру, на сайте Екатеринбургского вуза uapa.ru используется связка apache и nginx (отдача статики - картинок, документов).
Вот, что написано в комментариях к данным параметрам в settings.py:
# Absolute filesystem path to the directory that will hold user-uploaded files. # Example: "/var/www/example.com/media/" MEDIA_ROOT = 'media/' # URL that handles the media served from MEDIA_ROOT. Make sure to use a # trailing slash. # Examples: "http://example.com/media/", "http://media.example.com/" MEDIA_URL = 'http://127.0.0.1:80/media/'
Но все хорошо, если сайт у нас запущен по адресу http://127.0.0.1:80/. Попробовал я запустить его по адресу http://192.168.0.5/, чтобы сделать доступным для компьютеров моей локальной сети, как все картинки перестали отображаться:
Чтобы этого избежать MEDIA_URL нужно задать относительно:
# Absolute filesystem path to the directory that will hold user-uploaded files. # Example: "/var/www/example.com/media/" MEDIA_ROOT = 'media/' # URL that handles the media served from MEDIA_ROOT. Make sure to use a # trailing slash. # Examples: "http://example.com/media/", "http://media.example.com/" MEDIA_URL = '/media/'
После этого картинки будут отображаться всегда, по какому бы адресу мы сайт не запустили, используя встроенный в Django сервер разработки: manage.py runserver 192.168.0.5:80.
Конечно, при реальном развертывании проекта будут использоваться другие средства. Так, к примеру, на сайте Екатеринбургского вуза uapa.ru используется связка apache и nginx (отдача статики - картинок, документов).
Комментариев нет:
Отправить комментарий