Код Junior Django: устройство обновлено

Настройки из переменных окружения

Условие

Напишите load_settings(env): по словарю переменных окружения верните настройки {"DEBUG", "ALLOWED_HOSTS", "SECRET_KEY", "DB_PORT"}. Правила: DEBUG истинно только для строк "1", "true", "yes" (без учёта регистра), по умолчанию False; ALLOWED_HOSTS из строки через запятую без пробелов и пустых элементов, по умолчанию []; SECRET_KEY обязателен: если его нет или он пустой, верните строку "ImproperlyConfigured: SECRET_KEY"; DB_PORT целое, по умолчанию 5432.

Примеры

load_settings({"SECRET_KEY":"x","DEBUG":"True","ALLOWED_HOSTS":"a.ru, b.ru"}) // {"DEBUG":true,"ALLOWED_HOSTS":["a.ru","b.ru"],"SECRET_KEY":"x","DB_PORT":5432}
load_settings({}) // "ImproperlyConfigured: SECRET_KEY"
load_settings({"SECRET_KEY":"   "}) // "ImproperlyConfigured: SECRET_KEY"

Как подойти

Подсказки: 2
  1. bool("False") истинно: сравнивайте со списком строк.
  2. Пустые элементы после split(",") выкидывайте.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.