Django 表单字段到 HTML
Posted
技术标签:
【中文标题】Django 表单字段到 HTML【英文标题】:Django form fields to HTML 【发布时间】:2022-01-19 08:32:31 【问题描述】:我在 for 循环中创建字段并将它们存储在 Django 表单的列表中。 尝试将字段放入 html 文件时,它似乎正在打印对象。
类似这样的:
我的 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()
如何将该字符串转换为实际输入?
【问题讨论】:
什么是form.list? 这是一个python列表,包含我创建的所有整数字段。 您已经可以访问您的字段,无需创建新列表,在上下文中传递表单实例并在模板中访问它,然后处理显示 您能展示一下您是如何创建字段的吗?可以在self.fields
字典中添加字段来动态添加字段
@Alfonso 请将其添加到问题中
【参考方案1】:
您可以将字段添加到Form.__init__
中的self.fields
字典,以动态向表单添加字段。
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 %
【讨论】:
以上是关于Django 表单字段到 HTML的主要内容,如果未能解决你的问题,请参考以下文章