找不到Django静态文件404

时间:2018-08-04 13:42:15

标签: javascript html css django python-3.x

我已经阅读了所有与此类似的问题,但仍然找不到答案。我从HTML5和所有必需的CSS,JS和图像下载了模板,但是当我运行服务器时,我得到了:

**
Not Found: /erthreal/assets/js/main.js
[04/Aug/2018 12:02:40] "GET /erthreal/assets/js/main.js HTTP/1.1" 404 2126
[04/Aug/2018 12:02:40] "GET /erthreal/images/gallery/thumbs/06.jpg HTTP/1.1" 404 2159
[04/Aug/2018 12:02:40] "GET /erthreal/images/gallery/thumbs/07.jpg HTTP/1.1" 404 2159
**

我在settings.py文件中写了以下内容:

TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [
        'erthreal/erthreal/templates/'
    ],

STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static/',),
    'erthreal/static/erthreal',
]

在我的index.html中:

    {% load static %}
<!DOCTYPE html>
<html>
    <head>
        <title>personal</title>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
        <link rel="stylesheet" href="{% static "erthreal/assets/css/main.css" %}"/>
        <noscript><link rel="stylesheet" href="erthreal/assets/css/noscript.css" /></noscript>
    </head>

我非常确定问题出在我的views.py:

from django.shortcuts import render, HttpResponse

def index(request):
    index = Index.objects.all()
    return render(request, 'erthreal/templates/index.html')

我已经阅读了django网站和howto文件夹(彼此非常多的副本)上的所有文档,但找不到解决方法。这是我的文件夹布局:

      erthreal/
    static/
        erthreal/
            assets/
                CSS/
                fonts/
                js/
                sass/
            images/
    templates/
        erthreal/
          index.html

它将仅加载模板而不是关联的静态文件。

1 个答案:

答案 0 :(得分:0)

如果您尚未成功运行collectstatic,则您的静态文件夹不会更新;解释为什么会收到Not Found错误。

更新结构/home/user1/virtualenvironment/mysite/static中的错误