Django的坑
Posted leesen934
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django的坑相关的知识,希望对你有一定的参考价值。
在pycharm中运行代码示例是提示编码错误代码如下:
#!/usr/bin/env python # -*-coding:utf-8-*- from wsgiref.simple_server import make_server def application(environ, start_response): start_response(‘200 OK‘, [(‘Content-Type‘, ‘text/html‘)]) return [b‘<h1>Hello, web!</h1>‘] httpd = make_server(‘‘, 8080, application) print("Serving http on port 80000") httpd.serve_forever()
提示错误如下:
Traceback (most recent call last): File "D:/学习笔记/python/练习目录/前端/练习.py", line 24, in <module> httpd = make_server(‘‘, 8080, application) File "C:\\python\\python36\\lib\\wsgiref\\simple_server.py", line 153, in make_server server = server_class((host, port), handler_class) File "C:\\python\\python36\\lib\\socketserver.py", line 453, in __init__ self.server_bind() File "C:\\python\\python36\\lib\\wsgiref\\simple_server.py", line 50, in server_bind HTTPServer.server_bind(self) File "C:\\python\\python36\\lib\\http\\server.py", line 138, in server_bind self.server_name = socket.getfqdn(host) File "C:\\python\\python36\\lib\\socket.py", line 673, in getfqdn hostname, aliases, ipaddrs = gethostbyaddr(name) UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xcb in position 0: invalid continuation byte
反正就是编码错误:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xd2 in position 0: invalid continuation byte
Python3默认的是utf-8编码,中国程序员最苦逼的地方就是中文,程序遇到中文极大可能性会报错。出现编码问题,说明解码方式不对,可能是utf8解码中文出错,接着确认哪里出了问题。错误提示发现是 hostname, aliases, ipaddrs = gethostbyaddr(name)这句代码出了错误,这句代码是个函数,函数有参数,那先从参数入手,参数是name,那可能name是个中文,但是我的程序命名都是英文,那应该不是我的程序命名问题。经研究错误提示发现gethostbyaddr()函数是中文翻译就是获取主机地址,而传参是名字,那么name传入的就是主机名,也就是我们电脑名。我的电脑名是中文,是不是改成英文就可以了,经测试发现的确是主机中文名导致的
改完主机名之后代码运行如下:
问题,改成英文名即可顺利启动本地服务器。
以上是关于Django的坑的主要内容,如果未能解决你的问题,请参考以下文章
django中使用filter()(即对QuerySet操作)时踩的坑
稍微记录下Django2.2使用MariaDB和MySQL遇到的坑
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段