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

posted @ 2019-10-14 01:26  Jrri  阅读(211)  评论(0编辑  收藏  举报