为什么Django TemplateSyntaxError在这里出现?

2024-09-30 10:37:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图遍历视图的上下文并仅获取'ga:deviceCategory'值,我在HTML中运行的代码是:

<div class="card-body">
  {% for i in pvdc %}
    <p>{{ i.get('ga:deviceCategory') }}</p>
  {% endfor %}
</div>

我对django的看法是:

def dashboard(request):
  context = {'pvdc': [{'ga:deviceCategory': 'desktop', 'ga:pageviews': 673, 'ga:avgSessionDuration': 53.4447946},
{'ga:deviceCategory': 'mobile', 'ga:pageviews': 2373, 'ga:avgSessionDuration': 69.62674418604651},
{'ga:deviceCategory': 'tablet', 'ga:pageviews': 322, 'ga:avgSessionDuration': 26.205426356589147}]}
  return render(request, 'user/index.html', context)

我收到的语法错误是: 无法分析“i.get('ga:deviceCategory')中的其余部分:“('ga:deviceCategory')”

enter image description here

这里的问题是什么?如何获取值


Tags: 代码div视图getrequesthtmlcontextbody
2条回答

数据不是从for循环中呈现的,因此需要从

{{{i.get('ga:deviceCategory')}中删除get

<div class="card-body">
  {% for i in pvdc %}
    <p>{{ i.'ga:deviceCategory'}}</p>
  {% endfor %}
</div>

还有其他更好的方法,但现在试试这个 这个错误是因为:这个。 在Dictionary中将数据传递给您时,您必须更改dictionary中的key名称

context = {'pvdc': [{'ga_deviceCategory': 'desktop', 'ga:pageviews': 673, 'ga:avgSessionDuration': 53.4447946}

并像这样访问您的模板

<div class="card-body">
  {% for i in pvdc %}
    <p>{{ i.ga_deviceCategory }}</p>
  {% endfor %}
</div>

相关问题 更多 >

    热门问题