该
render_to_response快捷方式在Django
2.0中已弃用,在Django
3.0中已删除。您可以改用
render捷径,该捷径是Django
1.3中新增的。该
render快捷方式的工作原理类似
render_to_response,但需要
request作为第一个参数。如下更改视图:
from django.shortcuts import renderdef index(request): context = {'foo': 'bar'} return render(request, 'index.html', context)
在您看来,您有
context_instance=RequestContext(request)第三个论点。在Django 1.8中已弃用,在Django
1.10+中不起作用。
如果使用的是
render_to_response没有
context_instance,那么你可以传递
None的请求
render快捷方式。例如,如果您有,
return render_to_response('index.html', context)
那么等效的
render是:
return render(None, 'index.html', context)
请注意,如果您
None作为第一个参数传递,那么将在不使用任何上下文处理器的情况下呈现您的模板。这可能会使渲染速度稍快一些,但可能导致CSRF错误,这意味着您将无法从上下文处理器(例如
{{ request}}和
{{ user }})访问变量,除非您明确将它们添加到上下文中。
None除非您了解这些后果,否则我不建议您这样使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)