zoukankan      html  css  js  c++  java
  • ImportError: cannot import name 'render_to_response' 解决方法

      前几天 Django 官方推出了 3.0 框架,项目在 K8S 内部署启动的时候,报了这个错:ImportError: cannot import name 'render_to_response' from 'django.shortcuts'。然后简单排查下了,进到容器内用 pip3 show django 命令可以看到框架升级到了 3.0(之前一直用的 Django 2+),看官方资料查到 Django 3.0 已经将 render_to_response 移除了。因为有部分代码在用 render_to_response ,而我们打包镜像的时候没有指定 Django 版本,所以启动时报错了。解决方法有两个:

     

    方法一

     安装指定版本的 Django 版本(3.0以下),如:

    pip3 install django==2.1.3

    方法二

     使用 render 代替 render_to_response。

     相同点:都是展示模板页面的

     不同点:render 方法可接收三个参数,一是request参数,二是待渲染的html模板文件,三是保存具体数据的字典参数。它的作用就是将数据填充进模板文件,最后把结果返回给浏览器。render 自动使用RequestContext,而 render_to_response 需要 coding 进去。

    return render(request,"information.html",{"name":"test","password":"123456"})
    return render_to_response("information.html",{"name":"test","password":"123456"},context_instance = RequestContext(request))
  • 相关阅读:
    jvm 垃圾收集算法
    jvm 判断对象死亡
    jvm 内存分配
    jvm 对象奥秘
    mysql事务测试及delete和update是使用行级锁,还是表级锁
    sql语句中where后边的哪些条件会使索引失效 -- SQL语句优化
    java nio详解
    mysql数据库优化概述详解
    java 序列化和反序列化
    java io框架详解
  • 原文地址:https://www.cnblogs.com/shenh/p/11993679.html
Copyright © 2011-2022 走看看