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操作)时踩的坑

如何用ffmpeg截取视频片段&截取时间不准确的坑

Blender制作多个动画片段时踩的坑

稍微记录下Django2.2使用MariaDB和MySQL遇到的坑

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段