在網上看到MXShop這個項目,適合Python, Django + drf 進階的,其中遇到 TypeError: render() got an unexpected keyword argument 'renderer', 在百度一番後發現是Django集成DjangoUeditor,才致使這個錯誤的.網上有什麼資料都是去改Django的源文件,可是我以爲這樣很很差,由於部署到新環境的時候,都要手動去改一下Django源文件,這樣太麻煩了django
因此打算在DjangoUeditor上找緣由,最後竟然成功找到了,挺高興的,緣由是 DjangoUeditor > widgets.py > UEditorWidget 類,間接繼承 django > forms > widgets.py > Widget 類,而 django > forms > widgets.py > Widget 類spa
def render(self, name, value, attrs=None, renderer=None):
這個方法,比以前版本多添加了這個參數 renderer=None
可是,可是,可是!!!
DjangoUeditor > widgets.py > UEditorWidget 類,重寫這個方法 def render(self, name, value, attrs=None),這個 django 在不斷更新,DjangoUeditor卻沒有更新,因此應該把
def render(self, name, value, attrs=None)
改爲!!
def render(self, name, value, attrs=None, renderer=None):
如圖所示!!!!!!!!!!!