Я не знаю, что вы собираетесь делать с переменной fi_list
, которую вы добавляете в контекст.Если вы планируете систематически перечислять учреждения и их ограничения, например, в виде таблицы, то получение данных amount
должно быть достаточно простым, точно так же, как вы извлекали название выбранного финансового учреждения.
Если вы намереваетесь раскрыть пользователю суммы для всех учреждений (что я не думаю, что вы делаете), и под раскрытием я имею в виду, что он существует где-то в HTML-коде, независимо от того, отображает ли его браузер или нет, тогдаЕдинственное, что вы можете сделать, это закодировать fi_list
в строку JSON, сделать так, чтобы ваш ответ имел (в теге скрипта) код вроде:
var finInst = jQuery.parseJSON( "{{ jsonString }}" );
function checkLimit(amount) {
// I don't know what amount is supposed to do.
if (finInst[jQuery(this).text()] > 100000)
// do amount > 100000 code
else
// amount within limit
}
С кодом django / python, например:
import json
if plan:
investments = Investment.objects.all().filter(plan = plan).order_by('maturity_date').filter(maturity_date__gte = now)
fi_list = {}
for i in investments:
financial_institution = i.financial_institution
amount = i.get_current_value(date)
fi_list[financial_institution] = amount
context['jsonString'] = json.dumps(fi_list)
И, наконец, всякий раз, когда на веб-странице выбирается вариант учреждения, активируйте функцию checkLimit
.
Честно говоря, это действительно плохой код, потому что я думаю, что вы не хотите показывать все эти суммызначения для каждого учреждения (может быть, критически конфиденциальная информация?).Таким образом, единственный надежный способ получения результатов на лету - использовать AJAX для вызова представления django всякий раз, когда выбрано учреждение.Возможно, вы захотите взглянуть на dajaxproject , чтобы упростить эти запросы.