Django2.X admin模块富文本兼容
报错信息:
render() got an unexpected keyword argument 'renderer'
原因分析:
django框架版本更新过程中, 与富文本模块之间的数据传输格式产生了出入, 由此引发的问题.
更改富文本模块,或者更改相对应的django源码可解决问题.
# 官方说明文档(https://docs.djangoproject.com/en/2.1/releases/2.1/#features-removed-in-2-1):
Django2.X 删除了对Widget不带renderer参数的支持.
解决方案:
方法一 (对于较老框架,新模块):
导入模块修改Widget源码
from django.forms.widgets import Widget
修改Widget.render()方法
def render(self, name, value, attrs=None, renderer=None):
方法二 (对于较新框架,老模块):
导入模块注释boundfield语句:
from django.forms import boundfield
注释93行左右(ed):
# renderer=self.form.renderer,
方法三:
更换与框架对应的富文本模块.
django2.X 可使用DjangoUediter3
https://github.com/twz915/DjangoUeditor3/
#####################
相关参考解答:
stackoverflow:
https://stackoverflow.com/questions/52039654/django-typeerror-render-got-an-unexpected-keyword-argument-renderer
博客园:
https://www.cnblogs.com/python-boy/p/11290606.html#4388127