Django服务器出现TypeError错误求助:'NoneType'对象不可调用
嘿,我一眼就揪出问题所在啦!你的终端里的404错误核心是请求路径里的%20——这是URL编码后的空格,导致Django找不到对应的静态文件。
错误根源
看这个请求URL:/posts/%20/static/css/navbar-top.css,正常的静态文件请求应该直接从/static/...开始,而这里前面多了/posts/和一个空格(%20),说明你的静态文件引用路径生成出了问题。
可能的原因和解决办法
模板中静态文件引用语法错误:
你大概率是在模板里写{% static %}标签时多加了空格,比如写成了{% static 'css/navbar-top.css' %}(注意static前面的多余空格),或者手动拼接URL时误加了空格。
正确的写法应该是:{% load static %} <link rel="stylesheet" href="{% static 'css/navbar-top.css' %}">确保
static标签前后没有多余空格,并且模板开头已经加载了{% load static %}。视图中URL生成错误:
如果是在视图函数里手动生成静态文件URL,检查有没有不小心引入空格——比如字符串拼接时多打了空格,或者使用reverse函数时参数有误。浏览器缓存干扰:
有时候浏览器会缓存错误的请求地址,你可以尝试强制刷新页面(Ctrl+F5),看看是否还会发送这个错误的请求。
你的错误日志
[19/Mar/2018 18:27:45] "GET /posts/%20/static/css/navbar-top.css HTTP/1.1" 404 107
回溯(最近的调用最后):
File "/usr/lib/python3.4/wsgiref/handlers.py", line 137, in run
self.result = application(self.environ, self.start_response)
File "/usr/local/lib/python3.4/dist-packages/django/contrib/staticfiles/handler...
内容的提问来源于stack exchange,提问作者Cohen

