我的 Django 在尝试获取 jquery-2.2.4.js 文件时出现 404 错误。但是,在执行 collectstatic 之后,它正在获取 css/boardcss.css 文件,即使它们都在同一个顶级/static/文件夹中。有帮助吗?
这是我运行网站时的 jquery 404 错误:
Django version 1.9.6, using settings 'tictactoe.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
[06/Jun/2016 23:04:21] "GET /board/ HTTP/1.1" 200 361
[06/Jun/2016 23:04:21] "GET /static/jquery-2.2.4.js HTTP/1.1" 404 1658
[06/Jun/2016 23:04:21] "GET /static/css/boardcss.css HTTP/1.1" 304 0
我的 HTML 文件:
{% load staticfiles %}
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript" src="{% static 'jquery-2.2.4.js' %}">
</script>
<link rel="stylesheet" href="{% static 'css/boardcss.css' %}">
</head>
<body class="body" style="background-color:#545454">
<div class='container-fluid'>
{% block content %}
{% endblock %}
</div>
</body>
</html>
来 self 的 settings.py 文件:
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "board", "static"),
]
STATIC_ROOT = os.path.join(BASE_DIR, "static")
我的目录树:
请您参考如下方法:
好的,所以你有 2 个静态文件夹。我相信那是你的问题。请注意,当您上升一个级别然后寻找静态文件时,其中一个文件中有一个 jquery 文件,而另一个文件中没有。
您可能需要配置:
https://docs.djangoproject.com/en/1.9/ref/settings/#std:setting-STATICFILES_FINDERS
[
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]
The list of finder backends that know how to find static files in various locations.
