更新到1.11:TypeError build_attrs()最多接受2个参数(给定3个) [英] Update to 1.11: TypeError build_attrs() takes at most 2 arguments (3 given)
本文介绍了更新到1.11:TypeError build_attrs()最多接受2个参数(给定3个)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我从1.10.7更新到1.11.0,并且在查看表单时遇到以下错误.我根本无法理解我的表格有什么问题.其他形式的工作方式相同.我怀疑这可能与 select2 或
I a updating from 1.10.7 to 1.11.0 and I am getting the following error when viewing a form. I cannot fathom what is wrong with my form at all. Other forms work in the same way. I suspect that it could be an interaction with either select2 or markdownx but there is no indication that those are incompatible with 1.11.
如何进一步调试?
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
23. return view_func(request, *args, **kwargs)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
23. return view_func(request, *args, **kwargs)
File "/home/usr/repos/intranet/isotek_intranet_site/order_book/views.py" in create
161. return render(request, 'order_book/create.html', context)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/shortcuts.py" in render
30. content = loader.render_to_string(template_name, context, request, using=using)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/template/loader.py" in render_to_string
68. return template.render(context, request)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/template/backends/django.py" in render
66. return self.template.render(context)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/template/base.py" in render
207. return self._render(context)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/template/base.py" in _render
199. return self.nodelist.render(context)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/template/base.py" in render
990. bit = node.render_annotated(context)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/template/base.py" in render_annotated
957. return self.render(context)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/template/loader_tags.py" in render
177. return compiled_parent._render(context)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/template/base.py" in _render
199. return self.nodelist.render(context)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/template/base.py" in render
990. bit = node.render_annotated(context)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/template/base.py" in render_annotated
957. return self.render(context)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/template/loader_tags.py" in render
72. result = block.nodelist.render(context)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/template/base.py" in render
990. bit = node.render_annotated(context)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/template/base.py" in render_annotated
957. return self.render(context)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/template/base.py" in render
1046. return render_value_in_context(output, context)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/template/base.py" in render_value_in_context
1024. value = force_text(value)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/utils/encoding.py" in force_text
78. s = six.text_type(s)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/utils/html.py" in <lambda>
376. klass.__unicode__ = lambda self: mark_safe(klass_unicode(self))
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/forms/boundfield.py" in __str__
41. return self.as_widget()
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/forms/boundfield.py" in as_widget
120. **kwargs
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/forms/widgets.py" in render
220. context = self.get_context(name, value, attrs)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/forms/widgets.py" in get_context
665. context = super(Select, self).get_context(name, value, attrs)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/forms/widgets.py" in get_context
626. context = super(ChoiceWidget, self).get_context(name, value, attrs)
File "/home/usr/.virtualenvs/intranet/lib/python2.7/site-packages/django/forms/widgets.py" in get_context
211. 'attrs': self.build_attrs(self.attrs, attrs),
Exception Type: TypeError at /order_book/create/
Exception Value: build_attrs() takes at most 2 arguments (3 given)
模板:
<form action="/order_book/invoice/create/" method="post">
{% csrf_token %}
<input type='hidden' name='action' value='create'>
<table>
<tr>
<td>{{ form.active.label }}</td>
<td>{{ form.active }}</td>
</tr>
<!-- other entries like the one above… -->
<tr>
<td>
<button type="submit" value="Add"><img src="/static/images/tick.png" alt="Set">
Create new project code</button>
</td>
</tr>
</table>
视图:
def create_code(request): # pragma: no cover
context = {}
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
pass # Clearly for testing…
form = MyForm()
context['form'] = form
return render(request, 'order_book/create_code.html', context)
表格:
class MyForm(forms.ModelForm):
class Meta:
model = MyModel
fields = '__all__'
widgets = {
'manager': Select2Widget(attrs={'style': 'min-width:400px'}),
}
推荐答案
他们更改了Django 1.11/
They changed the build_attrs function in Django 1.11/
您可能还需要使用pip升级select2和markdownx.
You may need to upgrade also select2 and markdownx with pip.
<代码>pip install select2 markdownx-升级
这篇关于更新到1.11:TypeError build_attrs()最多接受2个参数(给定3个)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文