升级到Django 1.10后,我收到错误render_to_response() got an unexpected keyword argument 'context_instance'.
我的观点如下:
from django.shortcuts import render_to_response
from django.template import RequestContext
def my_view(request):
context = {'foo': 'bar'}
return render_to_response('my_template.html', context, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
这是完整的追溯:
Traceback:
File "/Users/alasdair/.virtualenvs/django110/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/Users/alasdair/.virtualenvs/django110/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)
File "/Users/alasdair/.virtualenvs/django110/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/alasdair/dev/rtr/rtr/urls.py" in my_view
26. return render_to_response('my_template.html', context, context_instance=RequestContext(request))
Exception Type: TypeError at /
Exception Value: render_to_response() got an unexpected keyword argument 'context_instance'
Run Code Online (Sandbox Code Playgroud)
Ala*_*air 125
该context_instance参数render_to_response是不推荐在Django 1.8,并且在Django 1.10删除.
解决方案是切换到render自动使用a 的快捷方式RequestContext.
更新导入和视图,如下所示.请注意,render将request对象作为其第一个参数.
from django.shortcuts import render
def my_view(request):
context = {'foo': 'bar'}
return render(request, 'my_template.html', context)
Run Code Online (Sandbox Code Playgroud)
该render快捷方式是在Django 1.3中引入的,因此这个更改与旧版本的Django兼容.
| 归档时间: |
|
| 查看次数: |
28961 次 |
| 最近记录: |