TypeError at /post/ render_to_response() got an unexpected keyword argument 'context_instance'

本文详细介绍了在使用Django 1.10版本时遇到的Formtools兼容性错误,TypeError at /post/ render_to_response() got an unexpected keyword argument 'context_instance'。通过修改formtools/preview.py文件中的render_to_response为render,并移除context_instance参数,成功解决了该问题。同时,建议卸载旧版django-formtools并从GitHub安装最新版本。
Exception Type: TypeError at /post/ Exception Value: render_to_response() got an unexpected keyword argument 'context_instance'
https://stackoverflow.com/questions/39629793/typeerror-at-post-render-to-response-got-an-unexpected-keyword-argument-con

formtools not supported the Django 1.10 version please downgrade your Django release for the workaround.

https://github.com/django/django-formtools/issues/75

 

I solved it by some changes in lib/python3.5/site-packages/formtools/preview.py file. Here I first changes render_to_response to render and then removed context_instance=RequestContext(request) from argument. Suppose post_post method now look like:

 def post_post(self, request): """ Validates the POST data. If valid, calls done(). Else, redisplays form. """ form = self.form(request.POST, auto_id=self.get_auto_id()) if form.is_valid(): if not self._check_security_hash( request.POST.get(self.unused_name('hash'), ''), request, form): return self.failed_hash(request) # Security hash failed. return self.done(request, form.cleaned_data) else: return render(request, self.form_template, self.get_context(request, form))


It looks like it was already fixed in their repository:

https://github.com/django/django-formtools/blob/master/formtools/preview.py#L88

in this commit:

https://github.com/django/django-formtools/commit/46b6839fb0063fa10ffb896ce80f7155ca7a9f6e

Uninstall django-formtools (pip uninstall django-formtools) and install the library using this this pip command instead:

pip install -e git+git://github.com/django/django-formtools#egg=django-formtools

转载于:https://www.cnblogs.com/xqnq2007/p/7043774.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值