请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

发表文章出现问题,不知道是不是版本问题

TypeError at /articles/write-new-article/
render() got an unexpected keyword argument ‘renderer’
Request Method: GET
Request URL: http://127.0.0.1:8000/articles/write-new-article/
Django Version: 2.2
Exception Type: TypeError
Exception Value:
render() got an unexpected keyword argument ‘renderer’
Exception Location: /Users/php8er/.local/share/virtualenvs/zanhu-tgEnzapH/lib/python3.7/site-packages/django/forms/boundfield.py in as_widget, line 93
Python Executable: /Users/php8er/.local/share/virtualenvs/zanhu-tgEnzapH/bin/python
Python Version: 3.7.7
Python Path:
[’/Users/php8er/Desktop/zanhu’,
’/Users/php8er/Desktop/zanhu’,
’/Users/php8er/Desktop/zanhu’,
’/Users/php8er/Desktop/zanhu/zanhu’,
’/Applications/PyCharm.app/Contents/plugins/python/helpers/pycharm_display’,
’/usr/local/opt/python/Frameworks/Python.framework/Versions/3.7/lib/python37.zip’,
’/usr/local/opt/python/Frameworks/Python.framework/Versions/3.7/lib/python3.7’,
’/usr/local/opt/python/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload’,
’/Users/php8er/.local/share/virtualenvs/zanhu-tgEnzapH/lib/python3.7/site-packages’,
’/Applications/PyCharm.app/Contents/plugins/python/helpers/pycharm_matplotlib_backend’,
’/Users/php8er/Desktop/zanhu/zanhu’,
’/Users/php8er/Desktop/zanhu/zanhu’]
Server time: 星期六, 9 五月 2020 14:39:23 +0800

正在回答 回答被采纳积分+3

2回答

Jack 2020-05-09 20:36:30

厉害,这个回答要加精!

0 回复 有任何疑惑可以回复我~
提问者 慕婉清0635027 2020-05-09 16:40:29

解决了,弄了好久,版本问题导致的,找到mardownx文件下的widgets.py文件下的render函数中,改两个地方

1,添加参数 renderer=None,

2.去掉c中的context

原因:Template.render()的参数必须是字典,弃用了Context


class MarkdownxWidget(forms.Textarea):

   def render(self, name, value, attrs=None, renderer=None):
       if 'class' in attrs.keys():
           attrs['class'] += ' markdownx-editor'
       else:
           attrs.update({'class':'markdownx-editor'})

       attrs['data-markdownx-editor-resizable'] = MARKDOWNX_EDITOR_RESIZABLE

       widget = super(MarkdownxWidget, self).render(name, value, attrs)

       t = get_template('markdownx/widget.html')
       c = ({
           'markdownx_editor': widget,
       })


       return t.render(c)

改了之后就能正常显示了


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号