python - 将字典传递给视图,具有多个键:值对
问题描述
def status_(request,id):
stages=['Vendor Quotation','Estimate Generation','Purchase Requsition','Purchase Order','Provision To Invoice','Reimbursement Invoice','Request Receipt#(PTI+RI+PO)','Receipt# Received(Updated PTI)','Request Sales Tax Invoice','Uploaded to Jazz Portal']
ctx={'invoice':Invoices.objects.get(pk=id),'stages':stages}
return render(request,"Invoices/status.html",ctx)
您好我正在尝试将用于显示的多个数据对象传递给用于显示的模板,我正在创建一个ctx
包含多个 2 个键值对的字典,第二个键值对是数组,当我使用访问此数组时
{% for idx in range(0,len(ctx.get("stages")) %}
我收到以下解析错误
**Could not parse the remainder: '(0,len(ctx.get("stages"))' from 'range(0,len(ctx.get("stages"))'**
解决方案
您不能在 Django 模板中使用参数进行函数调用,因此上述方法将不起作用,但您可能不需要它,您可以简单地枚举:
{% for stage in stages %}
{{ stage }}
{% endfor %}
如果你真的需要枚举,那么你可以通过上下文传递一个范围对象,但可能会弹出下一个问题:你也不能用变量下标。这将需要使用大量额外的模板过滤器,使其非常复杂。模板通常不用于实现业务逻辑,因此 Django 有一个模板引擎不支持复杂的函数调用等,以激励开发人员将业务逻辑移至视图。
推荐阅读
- java - Java中库导出的相对路径
- asp.net-core - ASP.NET 核心;如何从 csrf 验证中免除 SignalR 路径?
- amazon-web-services - 使用“LIKE”时,Amazon Athena 中的全文查询超时
- python - 如何将自定义指标的值从自定义回调附加到我需要在张量板中使用的“日志”?
- pyspark - Pyspark:内部连接两个 pyspark 数据帧并从第一个数据帧中选择所有列,从第二个数据帧中选择几列
- amazon-web-services - AWS 中的低延迟事件溯源服务是什么?
- python - TypeError:“InstrumentedList”对象在多对多关系烧瓶模型中插入数据时不可调用
- python - 使用 OpenCV 识别前景色和背景色
- c++ - 如何从嵌套的 PROGMEM 数组中读取 uint32_t 值?
- python - Python 从父目录导入模块,Flask Unittest 示例