Django runserver UnicodeDecodeError

编码问题可以说是我遇到过的python最大的败笔

今天写django时,很简单的一个项目却报UnicodeDecodeError,而我的代码中一个中文字符都没有出现。

如下:

网上找到的所谓解决方案,要么不是这个错误,要么也是没有解决。

我自己暂时找到的解决方案。找到上图中的restart_with_reloader函数,作如下修改

简单看了一下,错误应该是程序读取系统环境变量时的编码问题,系统为GBK(显示的cp936即为GBK),而转为utf-8时出错。

改完后程序正常运行,暂时不知道以后会不会出错。

为了便于调试 你可以修改manage.py,以使其可以使用pycharm来调试而不是用简陋的cmd来运行

时间: 2024-10-11 16:48:00

Django runserver UnicodeDecodeError的相关文章

django runserver部署和uwsgi部署的区别

1. runserver方法是django开发中经常用到的运行方式,这个运行方式 是django自带的,WSGI Server 运行,主要在测试和开发中使用,并且 runserver 开启的方式也是单进程 . 2.uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http 等协议.注意uwsgi是一种通信协议,而uWSGI是实现uwsgi协议和WSGI协议的 Web 服务器. uWSGI具有超快的性能.低内存占用和多app管理等优点,并且搭配着Nginx就是一个生产环境了,能够将用

Django runserver show client ip

get path of basehttp.py $ python >>> import site >>> site.getsitepackages() ['/usr/lib64/python2.7/site-packages', '/usr/lib/python2.7/site-packages', '/usr/lib/site-python'] change log_message() msg = "[%s] %s\n" % (self.log_d

Django中如何使用django-celery完成异步任务1(转)

原文链接: http://www.weiguda.com/blog/73/ 本篇博文主要介绍在开发环境中的celery使用,请勿用于部署服务器. 许多Django应用需要执行异步任务, 以便不耽误http request的执行. 我们也可以选择许多方法来完成异步任务, 使用Celery是一个比较好的选择, 因为Celery 有着大量的社区支持, 能够完美的扩展, 和Django结合的也很好. Celery不仅能在Django中使用, 还能在其他地方被大量的使用. 因此一旦学会使用Celery,

Setting up Django and your web server with uWSGI and nginx

https://uwsgi.readthedocs.io/en/latest/tutorials/Django_and_nginx.html Setting up Django and your web server with uWSGI and nginx This tutorial is aimed at the Django user who wants to set up a production web server. It takes you through the steps re

[r]Setting up Django and your web server with uWSGI and nginx

Setting up Django and your web server with uWSGI and nginx This tutorial is aimed at the Django user who wants to set up a production web server. It takes you through the steps required to set up Django so that it works nicely with uWSGI and nginx. I

Django中如何使用django-celery完成异步任务

本篇博文主要介绍在开发环境中的celery使用,请勿用于部署服务器. 许多Django应用需要执行异步任务, 以便不耽误http request的执行. 我们也可以选择许多方法来完成异步任务, 使用Celery是一个比较好的选择, 因为Celery有着大量的社区支持, 能够完美的扩展, 和Django结合的也很好. Celery不仅能在Django中使用, 还能在其他地方被大量的使用. 因此一旦学会使用Celery, 我们可以很方便的在其他项目中使用它. 1. Celery版本 本篇博文主要针对

Django源码解析(1):启动程序

1.Django的启动 1.1.启动命令 在Django项目根目录执行启动命令,如下: python manage.py runserver 8008 1.2.执行manage.py manage.py源码: if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "middleware_demo.settings") try: from django.

【解决】Django + Celery 长链接问题(一段时间后就断开) #原理待查

技术背景: python(3.7) + Django(2.1) + Celery(4.2) + RabbitMQ(3.7.8) 启动环境: django runserver 启动在本地 celery 也是在本地系统:$ celery worker -A <project> -c 2 --loglevel=info -n 'celery_worker_name' -Q <queue> -b amqp://****:****@localhost:*56**/vhost   //创建了一

django启动过程剖析

在manage.py文件中 1 if __name__ == '__main__': 2 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'test11.settings') 3 try: 4 from django.core.management import execute_from_command_line 5 except ImportError as exc: 6 raise ImportError( 7 "Couldn't import