gpt4 book ai didi

python - Django 错误 : "' ChoiceField' object has no attribute 'is_hidden' "

转载 作者:太空狗 更新时间:2023-10-29 21:18:28 27 4
gpt4 key购买 nike

Django 模板在呈现时抛出“AttributeError”。我想要实现的是,在模板中,解析的表单将包含一个选择框,其中包含以下列表中的值。

这是 Forms.py 文件:

class CallForm (forms.ModelForm):

class Meta():
model = Call
widgets = {
'employee_id' : forms.ChoiceField(choices=FormsTools.EmployeesToTuples(Employee.objects.all()))
}

解释:

FormsTools.EmployeesToTuples(Employee.objects.all()) --> [(1, u'E1'), (2, u'E2'), (3, u'E3')]

这里是 django 的错误:

Template error:
In template C:\virtualenv\#\#\templates\new_call.html, error at line 7
'ChoiceField' object has no attribute 'is_hidden'
1 : {% extends "base.html" %}


2 :


3 : {% block content %}


4 :


5 : <form action="/NewCall/" method="post">{% csrf_token %}


6 : <ul>


7 : {{ form.as_p }}


8 : </ul>


9 : <input type="submit" name="submit" value="Add New Call">


10 :


11 : </form>


12 :


13 : {% endblock %}

Traceback:
File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
112. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\virtualenv\OmegaManager2\OmegaManager\ServiceManager\views.py" in new_call
32. html = t.render(Context(args))
File "C:\Python27\lib\site-packages\django\template\base.py" in render
140. return self._render(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in _render
134. return self.nodelist.render(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in render
840. bit = self.render_node(node, context)
File "C:\Python27\lib\site-packages\django\template\debug.py" in render_node
78. return node.render(context)
File "C:\Python27\lib\site-packages\django\template\loader_tags.py" in render
123. return compiled_parent._render(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in _render
134. return self.nodelist.render(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in render
840. bit = self.render_node(node, context)
File "C:\Python27\lib\site-packages\django\template\debug.py" in render_node
78. return node.render(context)
File "C:\Python27\lib\site-packages\django\template\loader_tags.py" in render
62. result = block.nodelist.render(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in render
840. bit = self.render_node(node, context)
File "C:\Python27\lib\site-packages\django\template\debug.py" in render_node
78. return node.render(context)
File "C:\Python27\lib\site-packages\django\template\debug.py" in render
88. output = self.filter_expression.resolve(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in resolve
585. obj = self.var.resolve(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in resolve
735. value = self._resolve_lookup(context)
File "C:\Python27\lib\site-packages\django\template\base.py" in _resolve_lookup
789. current = current()
File "C:\Python27\lib\site-packages\django\forms\forms.py" in as_p
241. errors_on_separate_row = True)
File "C:\Python27\lib\site-packages\django\forms\forms.py" in _html_output
156. if bf.is_hidden:
File "C:\Python27\lib\site-packages\django\forms\forms.py" in is_hidden
560. return self.field.widget.is_hidden

Exception Type: AttributeError at /NewCall/
Exception Value: 'ChoiceField' object has no attribute 'is_hidden'

'AttributeError' 的原因是什么?如何修复?谢谢。

最佳答案

ChoiceField不是小部件 - 它是 form field :

class CallForm (forms.ModelForm):
employee_id = forms.ChoiceField(choices=FormsTools.EmployeesToTuples(Employee.objects.all()))

class Meta:
model = Call
fields = ['employee_id']

关于python - Django 错误 : "' ChoiceField' object has no attribute 'is_hidden' ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24679181/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com