[英]Using python dictionaries in a django template
我正在自己学习 django,正如您可以想象的那样,这非常困难。
我试图在视图中制作一个自适应形式。 该应用程序有一个 model 通过 JSON 存储有关表单的所有信息(如输入字段的占位符、ID 和类型)(如果有更简单或更智能的方式,我认为它会更好)。
因此,在视图文件中,我已将 2 个变量传递给模板(下图),这些变量引用上图中 object 中的 dict。
from django.shortcuts import render
from fattura.models import JobType
import json
def fattura(request):
datas = JobType.objects.all()
for i in datas:
if i.jobType==0:
dts = json.loads(i.inputs)
break
return render(request, 'fattura/fattura.html', {"dts": dts, "inputs": dts["inputs"]})
所以,现在我的 scope 是从模板中 for 语句中的键“inputType”和“placeholder”中提取值,以便将它们插入到 html 文件中。
<main>
<div class="form">
<div class="title>Crea Fattura</div>
<div class="subtitle">Compila tutti i campi correttamente.</div>
{% for campo in inputs %}
<div class="input-container ic2">
<input id="{{ campo }}" class="input" type="{{ inputs.campo.inputType }}" placeholder=" " />
<div class="cut"></div>
<label for="{{ campo }}" class="placeholder">{{ inputs.campo.placeholder }}</label>
</div>
{% endfor %}
<button type="text" class="submit">Invia</button>
</div>
</main>
使用上述方法,我显然无法检索任何内容,但我无法解决此问题。
顺便说一下,这是一个视图(这是一个示例,这就是它只有两个字段的原因):
输入字段似乎包含字典; 在您拥有的模板中
{% for campo in inputs %}
但这对列表有效,也许您想通过字典使用嵌套迭代器:
{% for key, value in inputs.items %}
{% if key == 'inputs' %}
{% for input_name, input_value in value.items %}
# {{ input_name }} can be nome, cognome, nascita or ammontare
# {{ input_value }} is the value
{% endfor %}
{% endif %}
{% endfor %}
我的建议是更好地组织 json 字段中的数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.