我想发送大量的数据到1 Django模板(显示在一个特定的页面).

数据来自两个来源:

  • 至少有一个列表,里面有很多字典(我不能更改任何一个)
  • 许多变量(我可以

变量非常简单,有点像"variable = other_variable / 100"(只有1个值,不需要键),所以我不需要将变量转换成字典.

但是I've understood (maybe wrong) that the "context" from Django's render needs dictionaries.

变量的数据来自列表(我使用一些列表值进行一些计算),但这可能与我的问题无关.

在我看来,现在我正在做这样的事情.py:

campaign_data = []

CODE TO FILL THAT LIST WITH API DATA (MANY DICTIONARIES INSIDE)

clicks = sum(data['campaign_clicks'] for data in campaign_data)
sum_clicks = {"sum_clicks" : clicks}

context = {
'campaign_data' : campaign_data,
'sum_clicks' : sum_clicks
}
return render(request, 'testing.html', context)

然后在Django模板上,我使用来自视图的数据.py如下:

{% for element in campaign_data %} 
{{ element.campaign_name }}
{{ element.campaign_budget }}
{% endfor %}


{% for key, value in sum_clicks.items %}                  
{{key}} - {{value}}                  
{% endfor %}

这是可行的,但似乎需要很多"额外的步骤"(创建一个字典,我真的不需要只将其提供给上下文,为一个只有1个键值的字典执行循环…).

我将使用很多这些变量或"额外的字典"(不只是像本例中的1个),所以这很重要.

Is there an easier and/or more efficient way to do this?

我是Python和Django的初学者,所以我真的不知道自己在做什么.

推荐答案

但我已经理解(可能是错的)Django渲染的"上下文"需要字典.

上下文是dictionary,但它不需要字典作为值.您可以将任何值传递给它.

你可以这样写:

campaign_data = []

# code to fill that list with API data (many dictionaries inside)

clicks = sum(data['campaign_clicks'] for data in campaign_data)

context = {
    'campaign_data' : campaign_data,
    'sum_clicks' : clicks
}
return render(request, 'testing.html', context)

然后将其渲染为:

{% for element in campaign_data %} 
    {{ element.campaign_name }}
    {{ element.campaign_budget }}
{% endfor %}

Total number of clicks - {{ sum_clicks }}

Python相关问答推荐

在matplotlib中使用不同大小的标记顶部添加批注

比Pandas 更好的 Select

根据客户端是否正在传输响应来更改基于Flask的API的行为

Pandas在rame中在组内洗牌行,保持相对组的顺序不变,

裁剪数字.nd数组引发-ValueError:无法将空图像写入JPEG

如何训练每一个pandaprame行的线性回归并生成斜率

SpaCy:Regex模式在基于规则的匹配器中不起作用

Django.core.exceptions.SynchronousOnlyOperation您不能从异步上下文中调用它-请使用线程或SYNC_TO_ASYNC

在matplotlib中重叠极 map 以创建径向龙卷风图

将相应的值从第2列合并到第1列(Pandas )

如何从表示音频的Numy数组中提取持续时间和偏移量?

为什么要导入一个Python类来实例化它?

如何在不窥视future 的情况下,在Python中对OHLC数据帧进行重采样?

无法使用ConnectSlotsByName将插槽连接到pqtgraph InfiniteLine信号

如何只保留Pandas DataFrame尾部的第一个重复行?

在Pandas 数据框中,可以有一些多索引列和一些单索引列吗?

获取Python中的层次 struct 数据

在Numpy数组中的列子集上聚合

极轴:通过创建多个新列对列进行操作

加快滚动总和计算速度?