Динамическое создание Javascript на вашем сервере может быть чрезвычайно мощным инструментом, и я испытал как положительные, так и отрицательные стороны в моих проектах.
Как правило, вы хотите сохранять как можно большую статичность, чтобы минимизировать работу, выполняемую по каждому запросу. Это включает в себя как можно больше кэша браузера, что может стать проблемой в вашем случае.
Что я обычно делаю, так это чтобы в моем базовом шаблоне был блок в заголовке. В шаблонах, которые должны делать пользовательский JavaScript, который известен только во время выполнения (например, настройка на основе вошедшего в систему пользователя), я добавляю его в блок. Здесь я могу динамически генерировать JavaScript, который, как я знаю, не будет кэшироваться, поэтому я могу сделать некоторые предположения. Недостатком является сложность.
Если вам нужно просто указать URL-адреса или иметь простую конфигурацию и т. Д., То я бы предложил создать представление, которое будет возвращать файл Javascript с этими настройками. Вы можете установить правильные заголовки (Etag, Cache-Control и т. Д.), Чтобы браузер кешировал файл в течение некоторого разумного времени. Когда вы обновите свой код, убедитесь, что Etag изменится.
В коде, который должен использовать конфигурацию, вы должны всегда проверять, что искомая переменная действительно определена, иначе вы будете сталкиваться с проблемами, которые трудно отладить, когда по какой-то причине Конфигурация JavaScript не загружается правильно.