从访问QueryDict元素响应.POST.get()Django温度

2024-10-01 09:18:17 发布

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

以下是我的页面:

<p>Request as string: {{ request.POST }}</p>

正确呈现:

Request as string: <QueryDict: {'csrfmiddlewaretoken': ['HPOQ0pfVf5DU0Lkz05IXqbECipdPUOcTiNGYWd4giZC7LVL5Y6jdT0nb0AcmX9pd'], 'txtNumBins': ['3']}>

我想查一下txtNumBins列表。但是,当我在Django模板中尝试以下任何一个

^{pr2}$

我一直收到一个相同的错误:

TemplateSyntaxError at /analysis/
Could not parse the remainder: '['txtNumBins'][0]' from'request.POST['txtNumBins'][0]'

如何按名称访问字典元素txtNumBins?在


Tags: django模板列表stringrequestas错误页面
2条回答

Django模板语言不是Python。不能用参数调用get()之类的函数,也不能使用方括号来查找字典/索引。相反,使用dot进行字典/索引查找以及属性查找。在

在这种情况下,您需要:

{{ request.POST.txtNumBins }}

有关详细信息,请参阅variables上的模板文档。在

正如您所发现的,默认情况下,您不能在模板内使用函数调用、按键访问字典或列表索引。最好在视图中获取这些信息,并将其作为响应上下文的一部分传递。例如:

def my_view(request):
    total_bins = request.POST['txtNumBins'][0]
    return render(request, 'my_template.html', {'total_bins': total_bins})

然后在模板中可以执行以下操作:

^{pr2}$

相关问题 更多 >