本文只记录自己遇到的错误,以及解决的方法,解决方法都来自己互联网。
问题一
出现:AttributeError: ‘NoneType’ object has no attribute ‘is_relation’
原因:可能是django迁移文件的问题,可以在报错中找到这个文件,fields.py,加入
print(app_label +' '+self.model_name_lower +' '+ self.name)
会输出例如图下的信息
前面是App名,后面是对应的字段,找到对应的迁移表删除就行了,如果不需要之前的数据,就直接把所有的迁移表都删除,留下__init__.py就行了。
删除完再执行 python manage.py makemigrations 就可以了。
问题二
出现:‘static’. Did you forget to register or load this tag?
原因:没有在加上 {% load staticfiles %}, 导致引用失败
为了方便后期的维护,在对一个网页配置静态文件的时候, 想改变以往那种硬编码的方式, 改为动态引用.
于是我这么引用静态文件
但是在测试的时候总是显示404
我以为是配置问题, 在setting.py里面找了很久, 后来排除了
问题的原因是我没有在加上 {% load staticfiles %}, 导致引用失败
后来我加上了, 成功
问题三
self._sock.sendall(b) ConnectionAbortedError: [WinError 10053] 您的主机中的软件中止了一个已建立的连接。
解决方法:找到python/Lib/socketserver.py文件,修改SocketWriter类的write方法,具体如下:
def write(self, b):
try:
self._sock.sendall(b)
except Exception as e:
self._sock.close()
with memoryview(b) as view:
return view.nbytes
问题四
self.status.split(’ ',1)[0], self.bytes_sent AttributeError: ‘NoneType’ object has no attribute 'split
解决方法:打开python\lib\wsgiref\simple_server.py文件,修改ServerHandler类,具体如下:
class ServerHandler(SimpleHandler):
server_software = software_version
def close(self):
try:
self.request_handler.log_request(
self.status.split(' ',1)[0], self.bytes_sent
)
SimpleHandler.close(self)
except Exception as e:
SimpleHandler.close(self)