前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python Django开发 异常及解决办法(三)

Python Django开发 异常及解决办法(三)

作者头像
cutercorley
发布2020-08-25 14:57:33
5870
发布2020-08-25 14:57:33
举报

1.Django2.2报错’gbk’ codec can’t decode byte 0xa6 in position 9737

在使用Django时,可能会报错如下:

代码语言:javascript
复制
File "C:\Users\LENOVO\.virtualenvs\Django_Framework-wC9HNSeq\lib\site-packages\django\views\debug.py", line 94, in technical_500_response
    html = reporter.get_traceback_html()
  File "C:\Users\LENOVO\.virtualenvs\Django_Framework-wC9HNSeq\lib\site-packages\django\views\debug.py", line 332, in get_traceback_html
    t = DEBUG_ENGINE.from_string(fh.read())
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 9737: illegal multibyte sequence
[24/Aug/2020 20:03:51] "GET / HTTP/1.1" 500 59
C:\Users\LENOVO\.virtualenvs\Django_Framework-wC9HNSeq\Lib\site-packages\django\views\debug.py changed, reloading.
Watching for file changes with StatReloader

提示django\views\debug.py332行GBK解码错误,即源码出错,此时只需要修改源码即可。 在PyCharm中按住Ctrl键鼠标移到File "C:\Users\LENOVO\.virtualenvs\Django_Framework-wC9HNSeq\lib\site-packages\django\views\debug.py", line 332, in get_traceback_html行(会有蓝色和下划线提示),即可打开源码,在331行和338行的open()方法中加入参数encoding="utf-8"即可,修改后如下:

代码语言:javascript
复制
    def get_traceback_html(self):
        """Return HTML version of debug 500 HTTP error page."""
        with Path(CURRENT_DIR, 'templates', 'technical_500.html').open(encoding="utf-8") as fh:
            t = DEBUG_ENGINE.from_string(fh.read())
        c = Context(self.get_traceback_data(), use_l10n=False)
        return t.render(c)

    def get_traceback_text(self):
        """Return plain text version of debug 500 HTTP error page."""
        with Path(CURRENT_DIR, 'templates', 'technical_500.txt').open(encoding="utf-8") as fh:
            t = DEBUG_ENGINE.from_string(fh.read())
        c = Context(self.get_traceback_data(), autoescape=False, use_l10n=False)
        return t.render(c)

此时再运行就不会报错。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.Django2.2报错’gbk’ codec can’t decode byte 0xa6 in position 9737
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档