【发布时间】:2021-01-29 01:13:18
【问题描述】:
我在创建包含 CharField 列表的动态类表单时遇到问题。 我能够创建一个具有如下动态键值的普通类。但是当我将值更改为 CharFields 时。它不起作用。表格有什么问题?
=========正常class===========
类 DynamicClass(forms.Form):
def __init__ (self, data): self.data =data for key in self.data.keys(): self.__setattr__(key, self.data[key])
my_class= DynamicClass({"HOSTNAME": 'Router_Hostname: ', "IP": 'IP_ADDRESS:'})
打印(my_class.HOSTNAME)
输出 --> 路由器主机名:
打印(my_class.IP)
输出--> IP_ADDRESS:
=========表格class===========
类 DynamicForm(forms.Form):
def __init__ (self, data): self.data =data for key in self.data.keys(): self.__setattr__(key, forms.CharField(label = self.data[key]))my_form = DynamicForm ({"HOSTNAME": 'Router_Hostname: ', "IP": 'IP_ADDRESS:'})
打印(my_form.as_table)
错误输出-->
Traceback(最近一次调用最后一次): 文件“”,第 1 行,在 repr 中的文件“~/automation/lib/python3.8/site-packages/django/forms/forms.py”,第 137 行 如果 self._errors 为无: AttributeError:“DynamicForm”对象没有属性“_errors”
【问题讨论】: