1. 原代码:
  1. # 使用模板文件
  2. # 1.加载模板文件,获取一个模板文件
  3. temp = loader.get_template('booktest/index.html')
  4.  
  5. # 2.定义模板上下文:给模板文件传递数据
  6. context = RequestContext(request, {})
  7.  
  8. # 3.模板渲染:产生标准的html内容
  9. res_html = temp.render(context)
  10.  
  11. # 4.返回给浏览器
  12. return HttpResponse(res_html)

  

错误提示:

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

  1. 正确代码:
  2.  
  3. # 1.加载模板文件
  4. temp = loader.get_template('booktest/index.html')
  5.  
  6. # 2.定义模板上下文:给模板文件传递数据
  7. context = RequestContext(request, {})
  8. context.push(locals())
  9.  
  10. # 3.模板渲染:产生标准的html内容
  11. res_html = temp.render(context=locals(), request=request)
  12.  
  13. # 4.返回给浏览器
  14. return HttpResponse(res_html)

  

  1. 原代码:
  2. # 使用模板文件
  3. # 1.加载模板文件
  4. temp = loader.get_template('booktest/index.html')
  5. # 2.定义模板上下文:给模板文件传递数据
  6. context = RequestContext(request, {})
  7. # 3.模板渲染:产生标准的html内容
  8. res_html = temp.render(context)
  9. # 4.返回给浏览器
  10. return HttpResponse(res_html)

错误提示:

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

正确代码:

  1. # 1.加载模板文件
  2. temp = loader.get_template('booktest/index.html')
  3.  
  4. # 2.定义模板上下文:给模板文件传递数据
  5. context = RequestContext(request, {})
  6. context.push(locals())
  7.  
  8. # 3.模板渲染:产生标准的html内容
  9. res_html = temp.render(context=locals(), request=request)
  10.  
  11. # 4.返回给浏览器
  12. return HttpResponse(res_html)

在Django中template遇到 "context must be a dict rather的更多相关文章

  1. django中Template语言

    Template本身也有自己的语言和语法,用来处理简单的数据显示 常用语法 判断指令 {% if 条件 %}...{%endif%} {% if 条件 %}...{%elif 条件 %}...{%en ...

  2. django 中的render和render_to_response()和locals()

    1. django中的render context在Django里表现为 Context 类,在 django.template 模块里. 它的构造函数带有一个可选的参数: 一个字典映射变量和它们的值 ...

  3. Django中全局Context处理器

    1.模板标签和模板变量 模板标签在{% %}中定义: {% if is_logged_in %} Thanks for logging in! {% else %} Please log in. {% ...

  4. django中的template部分

    模版部分 取值 {{key}} 语句块 {%for item in data%} {%extends 'base.html'%} 深度变量的查找(万能的句点号) 在到目前为止的例子中,我们通过 con ...

  5. 自定义django的Template context processors

    简要步骤: 1.编辑一个函数: def media_url(request): from django.conf import settings return {'media_url': settin ...

  6. python框架Django中MTV框架之Template(模板/界面)

    MTV框架之Template(模板/界面) 关注公众号"轻松学编程"了解更多. 1.模板目录位置 应用下 不需要注册 无法跨应用地进行复用 工程下 需要注册 settings.py ...

  7. Django 中 如何使用 settings.py 中的常量

    在用django 框架开发 python web 程序的时候 , 在模板页面经常会用到 settings.py 中设置的常量,比如MEDIA_URL, 我尝试过在模板页面用类似如下的方式 程序代码 { ...

  8. django中自定义标签和过滤器

    想要实现自定义标签和过滤器需要进行准备工作: 准备(必需)工作: 1  在某个app下创建一个名为templatetags(必需,且包名不可变)的包.假设我们在名为polls的app下创建了一个tem ...

  9. <django中render_to_response的可选参数和使用方法>

    在django官方文档中有比较详细的介绍,在此我按照自己的理解适当的阐述一下: return render_to_response(①'my_template.html', ②my_data_dict ...

随机推荐

  1. php 简单使用redis 队列示例

    public function redisAction(){ $redis = new Redis(); $redis->connect('127.0.0.1', 6379); echo &qu ...

  2. Ubuntu 下面手动安装 Redis

    1.下载 wget http://download.redis.io/releases/redis-2.8.17.tar.gz .tar.gz cd redis- make 2.复制文件到bin目录 ...

  3. c语言冒泡排序算法

    案例一: #include <stdio.h> int main(void){ int a[5]; printf("please input sort number:" ...

  4. centos host-only网卡配置

    1.更改网卡配置 更改虚拟机/etc/sysconfig/network-scripts/ifcfg-enp0s3 文件,内容如下: TYPE=Ethernet PROXY_METHOD=none B ...

  5. linux 查看内存,free,ps,说明Buffers,Cached,SReclaimable

    查看机器剩余内存free即可,百度就可以轻松查到,主要想说的 查所有进程占用内存情况并排序: ps aux | sort -nk5 k5代表根据RSS排序,k6代表VSZ排序. ----------- ...

  6. docker 随笔记录

    .docker 固定网络ip地址,启动 Docker的时候,用 --network 参数,可以指定网络类型 eg:docker run -itd --name test1 --network brid ...

  7. Vue编程基础

    一.依赖环境搭建: 添加镜像 # 安装好node.js后,使用淘宝镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 项 ...

  8. 自定义Hooks函数获取窗口大小(十一)

    其实自定义Hooks函数和用Hooks创建组件很相似,跟我们平时用JavaScript写函数几乎一模一样,可能就是多了些React Hooks的特性,自定义Hooks函数偏向于功能,而组件偏向于界面和 ...

  9. IDEA优化配置,提高启动和运行速度

    IDEA优化配置,提高启动和运行速度   参考链接:https://blog.csdn.net/riju4713/article/details/83217013,http://www.pc0359. ...

  10. dig命令不能使用(-bash: dig: command not found)

    解决方式: 直接使用yum进行安装: yum -y install bind-utils