在静态文件夹中加载CSS时出现错误404

时间:2019-09-12 09:19:44

标签: python css django static http-status-code-404

我已经在静态文件夹中创建了CSS文件,目前在尝试加载页面且无法识别CSS时收到此错误404。

我的文件夹是

DEMOPROJECT
    -DEMOAPP
     --migrations
     --templates
        ---DEMOAPP
               -----homepage.html
            ----base.html
    -DEMOPROJECT
         --static
             ---css
                ----NavMENU.css
         --settings.py
         --urls.py

我的终端是这个

(venv) C:\Users\jferguson\PycharmProjects\WebP1\DEMOPROJECT> 

我尝试了其他所有人要求的不同设置。似乎没有任何工作。

此文件位于静态文件夹的urls.py文件中。

urlpatterns = [
                  re_path(r'^admin/', include(wagtailadmin_urls)),
                  re_path(r'^documents/', include(wagtaildocs_urls)),
                  re_path(r'', include(wagtail_urls)),
              ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

这是在设置中

STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

编辑 我的homepage_html位于顶部。

{% extends "../base.html" %}
{% load static %}
{% load wagtailcore_tags wagtailimages_tags %}
{% block body_class %}home{% endblock %}

{% block content %}

3 个答案:

答案 0 :(得分:1)

执行如下的collectstatic命令

python manage.py collectstatic

在您的settings.py文件中添加:

STATIC_ROOT = os.path.join(BASE_DIR, 'static') 
STATIC_URL = '/static/' 
STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'your_project_name/static') ]

在您的情况下:

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

答案 1 :(得分:0)

尝试此python manage.py collectstatic并重新启动服务器。希望对您有帮助。

答案 2 :(得分:0)

感谢Meha Parekh的答案!

STATIC_ROOT = os.path.join(BASE_DIR, 'static') 
STATIC_URL = '/static/' 
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'DEMOPROJECT/static')]

这有效^,而不是settings.py中的以下代码

STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(BASE_DIR, 'static')