django - render() 得到了一个意外的关键字参数“renderer”
问题描述
我正在尝试使用 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
也许我有一个更深层次的错误需要检查?
解决方案
正如 arneb 提到的,我必须安装 github 主版本https://github.com/arneb/django-messages/issues/146#issuecomment-647485205
推荐阅读
- maven - 在 Maven 自定义原型中获取登录用户名
- celery - 在 Celery 任务中,retry_backoff 和 retry_backoff_max 会影响手动 self.retry() 调用吗?
- c++ - 如何使 SQL 应用程序脱机工作?
- sharepoint-2013 - 使用 caml 查询添加选择
- php - 显示乱序的 Wordpress 自定义帖子之一
- c# - Unity c#如何将按钮数组中的文本与另一个int数组进行比较?
- javascript - 如何从 nodejs 中的 JSON 请求有效负载中验证和删除不需要的属性?
- mongodb - 辅助关闭时,mongodb 无法删除数据库
- php - codeigniter 中的分页链接
- c# - 嵌套 LINQ 查询以按子对象属性过滤对象