【问题标题】:render() got an unexpected keyword argument 'renderer'render() 得到了一个意外的关键字参数“renderer”
【发布时间】:2020-06-14 09:46:08
【问题描述】:

我正在尝试使用 django-messages 在我的网站上启用用户对用户的消息传递。

当我设置它时,我在尝试访问撰写页面时遇到了这个错误。

TypeError at /messages/compose/
render() got an unexpected keyword argument 'renderer'

检查日志后,它会指向其中一个文件中的包的渲染函数。代码是

return render(request, template_name, {'form': form})

我也在这里查看了这个答案:Django TypeError: render() got an unexpected keyword argument 'renderer'。我尝试添加其他参数,但似乎其他参数也没有被识别。就是说 attrs 和 renderer 是无法识别的参数。

我也在使用 django 2.2 版本,所以我认为这与向后兼容性问题无关。

奇怪的是,我有另一个文件以同样的方式使用渲染函数,而且它工作正常。

另外,正如我引用的链接所建议的那样,检查我所做的 widgets.py 文件,这是它的外观

def render(self, name, value, attrs=None, renderer=None):
    print('I got called yo')
    """Render the widget as an HTML string."""
    context = self.get_context(name, value, attrs)
    return self._render(self.template_name, context, renderer)

对不起,这让我更加困惑。

根据小部件文件,应该知道 attrs 和渲染器参数。但为什么它似乎无法识别?

这是来自 django-messages 的代码和我可以正常工作的代码

return render(request, template_name, {'form': form}) # django messages, template name is declared at the start of the function: template_name='django_messages/compose.html'
return render(request, "sendemail/email.html", {'form': form}) # from my code to send email

我导入的方式在使用渲染命令的两个文件上也是相同的

from django.shortcuts import render

也许我有更深层次的错误需要检查?

【问题讨论】:

    标签: django django-messages


    【解决方案1】:

    正如arneb所说,我必须安装github主版本https://github.com/arneb/django-messages/issues/146#issuecomment-647485205

    【讨论】:

      猜你喜欢
      • 2020-09-28
      • 2019-06-17
      • 1970-01-01
      • 2016-09-17
      • 2015-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-13
      相关资源
      最近更新 更多