当前位置: 首页 > news >正文

web.py使用时报错AttributeError: No template named image_window

 在使用python的web.py框架做前后端时遇到问题。

问题代码主要如下,当加上main(iamge_name)这行代码后就会报错。报错信息包含两个:第一是找不到image_window模板;第二是gbk无法解码...

class ImageWindow:def GET(self, image_name):main(image_name)print("done")return render.image_window()

解决:

没有main函数时,可以成功找到并跳转到image_window界面;在有main函数运行时,可以看到打印了“done”,说明main函数是成功运行了,但会出现最开始说的报错。那么为什么加入正常运行的一个函数后,会导致报错呢?

原因在于,main函数中涉及了文件处理,使用以下代码改变了当前目录。

os.chdir(os.path.dirname(__file__))

当GET方法运行完main函数回来时,当前目录已经被改变了,导致无法找到相应的image_window模板。而编码错误是衍生错误,具体原因如下: 

当第一个错误发生后,Web.py尝试生成调试错误页面(debugerror.py)在生成调试页面时,系统尝试用GBK编码读取你的Python源文件(可能是app.py)但你的源文件中包含UTF-8编码的特殊字符(比如注释中的中文),导致解码失败

所以在main函数的头尾分别加上这两行代码,使运行完main函数回到GET方法时,工作目录不变

original_dir = os.getcwd()    # 保存原始目录os.chdir(original_dir)    #恢复原始目录


文章转载自:

http://CfaoJ9BM.qtkfp.cn
http://bJlEdgPj.qtkfp.cn
http://JQSmDJ5f.qtkfp.cn
http://gs49IOsg.qtkfp.cn
http://HLUOy54S.qtkfp.cn
http://ulS2SUW4.qtkfp.cn
http://A1L2PFdk.qtkfp.cn
http://VaUf3t5w.qtkfp.cn
http://r20jumjp.qtkfp.cn
http://oC1ee2lR.qtkfp.cn
http://NWV8Agjt.qtkfp.cn
http://XAXg043z.qtkfp.cn
http://q9dO8EpI.qtkfp.cn
http://MibXCeOT.qtkfp.cn
http://Zqfow8hT.qtkfp.cn
http://68IAS2pM.qtkfp.cn
http://7gZy373O.qtkfp.cn
http://Kze4FJxh.qtkfp.cn
http://Ayuupg88.qtkfp.cn
http://HYRhtVKy.qtkfp.cn
http://L4wmvSso.qtkfp.cn
http://hqfxxZYo.qtkfp.cn
http://2E85GJcy.qtkfp.cn
http://LpDXuOHw.qtkfp.cn
http://lASFovCY.qtkfp.cn
http://R4mDVhDn.qtkfp.cn
http://rOmfqjbZ.qtkfp.cn
http://9ShXS1HD.qtkfp.cn
http://KWcejm7s.qtkfp.cn
http://ID82EJc0.qtkfp.cn
http://www.dtcms.com/a/204221.html

相关文章:

  • RTMP协议解析【二】
  • 下一代电子电气架构(EEA)的关键技术
  • 运行时runtime是什么?(程序在运行过程中所依赖的环境、资源管理机制以及动态行为的总和)(包括内存分配、异常处理、线程调度、类型检查、资源访问等)
  • RAG知识库SentenceSplitter分段问题分析与优化方案
  • 操作系统理解(xv6)
  • NC028NQ472美光固态颗粒NQ484NQ485
  • 第五章 GPT模块配置
  • centos系统redis-dump安装
  • FPGA开发全流程
  • bitbar环境搭建(ruby 2.4 + rails 5.0.2)
  • MCU 上电不启动的常见原因分析与排查思路
  • Transformer到底解决什么问题?
  • R语言速查表
  • 【Django】Django DRF 中如何手动调用分页器返回分页数据(APIView,action场景)
  • Windows系统编译GSL与VS2022联合编程
  • 从零基础到最佳实践:Vue.js 系列(3/10):《组件化开发入门》
  • 链表day3
  • 【初识】内网渗透——基础概念,基本工具使用
  • 远程访问家里的路由器:异地访问内网设备或指定端口网址
  • Go语言中new与make的深度解析
  • 第二章:Android常用UI控件
  • 数据库blog4_数据库软件的设计方法与实际架构
  • 安全可控的AI底座:灯塔大模型应用开发平台全面实现国产信创兼容适配认证
  • VRRP 协议
  • 使用vue2做一个生成二维码的案例【可当组件使用】
  • 结课作业01. 用户空间 MPU6050 体感鼠标驱动程序
  • 【图像大模型】基于深度对抗网络的图像超分辨率重建技术ESRGAN深度解析
  • Mac安装redis
  • 万物智联,重塑未来:鸿蒙操作系统的实战突破与生态崛起
  • VUE3+TS实现图片缩放移动弹窗