Заставить статический файл служить местом, настраиваемым в Django? - PullRequest
0 голосов
/ 15 сентября 2009

Я работаю с Django на моем компьютере, и расположение всех моих статических файлов отличается от расположения на моем хосте. Есть ли способ сделать это настраиваемым параметром?

Например, на моем компьютере я должен включить jquery.js в мои шаблоны, который находится в /include/jquery.js, но на моем хосте он расположен в ../static/jquery.js, но Я не хочу вносить все эти изменения для каждой страницы шаблона.

Ответы [ 3 ]

3 голосов
/ 15 сентября 2009

Здесь есть два вопроса. Во-первых, как настроить, где Django находит статические файлы, и префиксы URL-адресов, используемые при связывании со статическими ресурсами или включая их. Ответ на вопрос на этот вопрос заключается в использовании параметров MEDIA_URL и MEDIA_ROOT для управления отображением URL-адресов и информацией о пути на диске для статического носителя. Для получения дополнительной информации об этой задаче см. Справочные документы по настройке Django .

Тогда ваш второй неявный вопрос заключается в том, как сохранить различные параметры для локальной среды разработки и рабочего развертывания. Существует множество различных «рецептов» для поддержки нескольких сред параллельной конфигурации для проектов Django, но я считаю, что самый простой способ - просто добавить что-то вроде этого в конец моего settings.py:

try:
  from settings_local.py import *
except ImportError:
  pass

Тогда, если в какой-либо системе (dev или production) есть файл с именем settings_local.py в корневом каталоге проекта, установленные там параметры конфигурации будут переопределять параметры, сделанные в основном settings.py. Затем я обычно добавляю локальный файл в список игнорирования для контроля версий и помещаю в него машинно-зависимые или чувствительные к безопасности данные (например, пароли базы данных), в то время как основная часть конфигурации может находиться в основной контролируемой версией * 1015. *.

0 голосов
/ 15 сентября 2009

См. статью djangodose по настройке сред разработки и производства и, в частности, четвертый комментарий . Приведенные инструкции специально касаются вашего вопроса о сохранении всех настроек в VCS - Но что, если я изменяю файл с этим настраиваемым местоположением? Я не хочу помещать это в свой список игнорирования.

0 голосов
/ 15 сентября 2009

Ну, файлы конфигурации Django - это скрипты на python, так что вы обладаете большой точностью в них. Например, вы можете создать список местоположений для каждого хоста и прочитать их в файлах конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...