Django ImportError:无法从'django.shortcuts'导入名称'render_to_response'

Django ImportError:无法从'django.shortcuts'导入名称'render_to_response',第1张

Django ImportError:无法从'django.shortcuts'导入名称'render_to_response'

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
除非您了解这些后果,否则我不建议您这样使用。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5587798.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存