Django TypeError:render()得到了意外的关键字参数'renderer' [英] Django TypeError: render() got an unexpected keyword argument 'renderer'
本文介绍了Django TypeError:render()得到了意外的关键字参数'renderer'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经升级到Django 2.1,并且在加载管理界面时看到此错误:
I've upgraded to Django 2.1, and I'm seeing this error when I load the admin interface:
TypeError at /admin/foo/bar/1/change/
render() got an unexpected keyword argument 'renderer'
推荐答案
这几乎可以肯定是因为该向后不兼容的更改Django 2.1 :
This is almost certainly because of this backwards-incompatible change in Django 2.1:
- 支持
Widget.render()
方法,而无需renderer
参数已删除。
- Support for
Widget.render()
methods without therenderer
argument is removed.
您可能已将 django.forms.widgets.Widget
在您的代码中,或在您依赖项之一的代码中。代码可能看起来像这样:
You may have subclassed django.forms.widgets.Widget
in your code, or in the code of one of your dependencies. The code may look like this:
from django.forms import widgets
class ExampleWidget(widgets.Widget):
def render(self, name, value, attrs=None):
# ...
您需要修复 render
的方法签名,使其看起来像这样:
You need to fix the method signature of render
, so that it looks like this:
def render(self, name, value, attrs=None, renderer=None):
看看源 widgets.Widget
的代码,如果要检查的话。
Have a look at the source code of widgets.Widget
if you want to check.
这篇关于Django TypeError:render()得到了意外的关键字参数'renderer'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文