我正在尝试使用django-messages在我的网站上实现用户对用户的消息传递。
当我设置它时,当我试图访问compose页面时,我遇到了这个错误。
TypeError at /messages/compose/
render() got an unexpected keyword argument 'renderer'在检查日志时,它指向其中一个文件中的包的呈现函数。代码是
return render(request, template_name, {'form': form})我在SO: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)这只会让我更困惑抱歉。
根据窗口小部件文件,属性和渲染器参数应该是已知的。但是为什么它看起来没有被识别呢?
以下是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另外,在使用render命令的两个文件上,我导入的方式也是相同的
from django.shortcuts import render也许我有更深层次的错误需要检查?
发布于 2020-06-22 20:28:09
正如arneb提到的,我必须安装github主版https://github.com/arneb/django-messages/issues/146#issuecomment-647485205
https://stackoverflow.com/questions/62370869
复制相似问题