Django - Доступ к статическим/медиа файлам по удаленному url вместо локального.
Я не могу найти ответ на свой вопрос в Интернете, поэтому вот он, с некоторым контекстом: У меня есть приложение Django, работающее на сервере, и я хотел бы продолжить работу над ним локально с помощью команды "runserver". Моя проблема связана с использованием общих статических и медиа файлов. Содержимое папки media часто меняется в production, и мне приходится скачивать эти медиафайлы с сервера каждый раз, когда я хочу разработать приложение локально и добавить их в путь MEDIA_ROOT на моем компьютере. База данных является общей как для dev, так и для production среды, так как это MySQL хост на моем сервере.
Мой вопрос прост, как я могу сказать Django в локальном режиме искать статические и медиа файлы на удаленном url с моего доменного имени вместо localhost?
Поиск СМИ на : https://example.com/media/
вместо : https://127.0.0.1:8000/media/
Надеемся, что это возможно без особых усилий!
Заранее благодарю за помощь
Вы просто тестируете после основного url
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL,
document_root=settings.STATIC_ROOT)
else:
Production
Я не очень понимаю, почему к файлам static
нужно относиться одинаково - они должны быть частью вашего проекта sources. Поэтому локальное хранилище должно иметь более высокий приоритет.
Но обслуживание любого из таких файлов по-прежнему является просто диспетчеризацией URL, поэтому вместо этого:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Вы можете попробовать что-то вроде этого:
urlpatterns += [
path(settings.MEDIA_URL + "<path:file_path>", RedirectView.as_view(url="https://example.com/media/%(file_path)"))
]
(не проверял)