我在 for 回圈中創建欄位并將它們存盤在 Django 形式的串列中。嘗試將欄位放入 HTML 檔案時,它似乎正在列印物件。
像這樣: <django.forms.fields.IntegerField object at ...>
我的 HTML 如下所示:
{% for i in form.list %}
{{i}}
{% endfor %}
這是我創建串列的方式:
l1 = [] #List that contains names
l2 = [] #List that contains other names
result = {}
for i in l1:
for j in l2:
v_name = i '_' j
result[v_name] = forms.IntegerField()
如何將該字串轉換為實際輸入?
uj5u.com熱心網友回復:
您可以將欄位添加到self.fields字典中Form.__init__以將欄位動態添加到表單中。
class MyForm(forms.Form):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for i in l1:
for j in l2:
v_name = i '_' j
self.fields[v_name] = forms.IntegerField()
這可以像常規形式一樣使用,或者迭代
{{ form }}
{% for field in form %}
{{ field }}
{% endfor %}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/383124.html
