В настоящее время я передаю переменную шаблона в views.py
:
def home_view(request, *args, **kwargs):
if scrape.get_countries().count() == 0 or (timezone.now()-scrape.get_global().last_updated).total_seconds()/3600 > 24:
scrape.fetch_api_data()
scrape.fetch_time_data2()
return render(request, 'home.html', {'all_dates': scrape.get_dates()})
, где all_dates - это словарь.
В функции javascript в моем home.html
я хочу чтобы иметь возможность получить доступ к значениям из словаря с помощью ключевой переменной с именем code .
<script>
function create_graph(country, code, dates) {
var date = "{{ all_dates|get_item:code|get_item:'05/05/2020'|get_item:'confirmed'}}";
window.alert(date);
</script>
FYI, get_item - это просто простой шаблонный фильтр в другом файле
@register.filter
def get_item(dictionary, key):
if key:
return dictionary.get(key)
Однако при запуске сервера я получаю следующее сообщение об ошибке:
VariableDoesNotExist at /
Failed lookup for key [code] in [{'True': True, 'False': False, 'None': None}, {}, {}, {'global': <Country: Global>, 'countries': <QuerySet [<Country: Global>, <Country: ALA Aland Islands>, <Country: Afghanistan>, <Country: Albania>, <Country: Algeria>, <Country: American Samoa>, <Country: Andorra>, <Country: Angola>, <Country: Anguilla>, <Country: Antarctica>, <Country: Antigua and Barbuda>, <Country: Argentina>, <Country: Armenia>, <Country: Aruba>, <Country: Australia>, <Country: Austria>, <Country: Azerbaijan>, <Country: Bahamas>, <Country: Bahrain>, <Country: Bangladesh>, '...(remaining elements truncated)...']>, 'all_dates': {'..': {}, 'AX': {}, 'AF': {'05/04/2020': {'confirmed': 2894, 'recovered': 397, 'deaths': 90}, '05/03/2020': {'confirmed': 2704, 'recovered': 345, 'deaths': 85}, '05/02/2020': {'confirmed': 2469, 'recovered': 331, 'deaths': 72}, '05/01/2020': {'confirmed': 2335, 'recovered': 310, 'deaths': 68}, '04/09/2020': {'confirmed': 484, 'recovered': 32, 'deaths': 15}, '04/08/2020': {'confirmed': 444, 'recovered': 29, 'deaths': 14}, '04/07/2020': {'confirmed': 423, 'recovered': 18, 'deaths': 14}, '04/06/2020': {'confirmed': 367, 'recovered': 18, 'deaths': 11}, '04/05/2020': {'confirmed': 349, 'recovered': 15, 'deaths': 7}, '04/04/2020': {'confirmed': 299, 'recovered': 10, 'deaths': 7}, '04/30/2020': {'confirmed': 2171, 'recovered': 260, 'deaths': 64}, '04/03/2020': {'confirmed': 281, 'recovered': 10, 'deaths': 6}, '04/29/2020': {'confirmed': 1939, 'recovered': 252, 'deaths': 60}, '04/28/2020': {'confirmed': 1828, 'recovered': 228, 'deaths': 58}, '04/27/2020': {'confirmed': 1703, 'recovered': 220, 'deaths': 57}, '04/26/2020': {'confirmed': 1531, 'recovered': 207, 'deaths': 50}, '04/25/2020': {'confirmed': 1463, 'recovered': 188, 'deaths': 47}, '04/24/2020': {'confirmed': 1351, 'recovered': 188, 'deaths': 43}, '04/23/2020': {'confirmed': 1279, 'recovered': 179, 'deaths': 42}, '04/22/2020': {'confirmed': 1176, 'recovered': 166, 'deaths': 40}, '04/21/2020': {'confirmed': 1092, 'recovered': 150, 'deaths': 36}, '04/20/2020': {'confirmed': 1026, 'recovered': 135, 'deaths': 36}, '04/02/2020': {'confirmed': 273, 'recovered': 10, 'deaths': 6}, '04/19/2020': {'confirmed': 996, 'recovered': 131, 'deaths': 33}, '04/18/2020': {'confirmed': 933, 'recovered': 112, 'deaths': 30}, '04/17/2020': {'confirmed': 906, 'recovered': 99, 'deaths': 30}, '04/16/2020': {'confirmed': 840, 'recovered': 54, 'deaths': 30}, '04/15/2020':
Как мне передать переменную javascript в фильтр шаблона django? Я попытался заключить код в двойные скобки, но это тоже не сработало.