Ничто не мешает вам указывать ваши URL-адреса на другом хосте в выводе (X) HTML.
Если ваша учетная запись общего хостинга находится, например, на http://awesome-hosting-provider.com/~myname/
, вы можете установить MEDIA_URL
в вашем settings.py
к этому значению обязательно используйте RequestContext
при рендеринге и включите django.core.context_processors.media
в TEMPLATE_CONTEXT_PROCESSORS
(обратите внимание, что он там по умолчанию), а затем вы можете просто использовать {{ MEDIA_URL }}
для префикса вашегоURL-адреса в шаблонах.
Даже администратор будет работать с этим, если вы скопируете все необходимые статические файлы в общую среду, чтобы сделать их доступными.
Поскольку вам также необходимо принятьЗаботясь о загрузке файлов, как говорится в книге, вы должны будете сделать возможным запись в хранилище (на общем сервере) из вашего развертывания Django.Есть несколько способов достижения этого.
Вероятно, проще всего было бы смонтировать каталог верхнего уровня вашей среды хранения на виртуальном сервере, используя SSHFS с правильными параметрами (такими как reconnect
, разумные тайм-ауты и т. Д.).).Конечно, это требует SSH-доступа к общей среде.Чтобы упростить задачу, может пригодиться установка пары ключей аутентификации SSH.
В качестве альтернативы, вы можете попробовать NFS, если ваш провайдер общего хостинга позволяет вам это сделать, хотя я считаю, что это маловероятно.
Если все остальное терпит неудачу, вам придется настроить какой-либо веб-сервис в вашей общей среде, который будет прослушивать загрузки из вашего развертывания Django и заставлять приложение Django пересылать их.В этом случае, однако, вам нужно убедиться, что он достаточно безопасен, и никакой злонамеренный пользователь не сможет скомпрометировать ваш сервер хранения, напрямую связавшись с ним.