在Django中template遇到 \"context must be a dict rather

拜拜、爱过 提交于 2019-12-05 02:48:43
原代码:
# 使用模板文件
# 1.加载模板文件,获取一个模板文件
temp = loader.get_template('booktest/index.html')

# 2.定义模板上下文:给模板文件传递数据
context = RequestContext(request, {})

# 3.模板渲染:产生标准的html内容
res_html = temp.render(context)

# 4.返回给浏览器
return HttpResponse(res_html)

  

错误提示:

Exception Type: TypeError at /index
Exception Value: context must be a dict rather than RequestContext.

正确代码:

# 1.加载模板文件
temp = loader.get_template('booktest/index.html')

# 2.定义模板上下文:给模板文件传递数据
context =  RequestContext(request, {})
context.push(locals())

# 3.模板渲染:产生标准的html内容
res_html = temp.render(context=locals(), request=request)

# 4.返回给浏览器
return HttpResponse(res_html)

  

原代码:
# 使用模板文件
# 1.加载模板文件
temp = loader.get_template('booktest/index.html')

# 2.定义模板上下文:给模板文件传递数据
context = RequestContext(request, {})

# 3.模板渲染:产生标准的html内容
res_html = temp.render(context)

# 4.返回给浏览器
return HttpResponse(res_html)

错误提示:

Exception Type: TypeError at /index
Exception Value: context must be a dict rather than RequestContext.

正确代码:

# 1.加载模板文件
temp = loader.get_template('booktest/index.html')

# 2.定义模板上下文:给模板文件传递数据
context =  RequestContext(request, {})
context.push(locals())

# 3.模板渲染:产生标准的html内容
res_html = temp.render(context=locals(), request=request)

# 4.返回给浏览器
return HttpResponse(res_html)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!