Необходимо отобразить поле для соответствующей модели в списке изменений администратора - Django 1.11

Вы должны абстрагировать параметры чтения с помощью шаблона Strategy . Создайте абстракцию с именем ConfigurationSource, имеющую метод readConfig(key) -> value (или возвращающий некоторый объект / структуру Configuration) со следующими реализациями:

  • CommandLineConfigurationSource
  • EnvironmentVariableConfigurationSource
  • WindowsFileConfigurationSource - загрузка из файла конфигурации из C:/Document and settings...
  • WindowsRegistryConfigurationSource
  • NetworkConfigrationSource
  • UnixFileConfigurationSource - - загрузка из файла конфигурации из /home/user/...
  • DefaultConfigurationSource - значения по умолчанию
  • ...

Вы также можете использовать Цепь ответственности для привязки источников в различных конфигурациях, таких как: если аргумент командной строки не указан, попробуйте переменную окружения, и если все остальное не выполнено, верните defauls.

Ad 1. Этот подход не только позволяет абстрагировать конфигурацию чтения, но вы можете легко изменить базовый механизм без какого-либо влияния на код клиента. Кроме того, вы можете использовать сразу несколько источников, отступать или собирать конфигурацию из разных источников.

Ad 2. Просто выберите, какая из реализаций подходит. Конечно, некоторые записи конфигурации не подходят, например, к аргументам командной строки.

Объявление 3. Если некоторые реализации не переносимы, имейте два, один молча игнорируемый / пропущенный, если он не подходит для данной системы.

0
задан NeoVe 18 March 2019 в 15:11
поделиться