【问题标题】:Error 404 when loading css in static folder在静态文件夹中加载 css 时出现错误 404
【发布时间】:2020-01-14 03:27:21
【问题描述】:

我在静态文件夹中创建了 CSS 文件,目前在尝试加载页面时出现此错误 404,但没有识别出任何 CSS。

我的文件夹是

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 %}

【问题讨论】:

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


    【解决方案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') ]
    

    【讨论】:

    • @Joeld 你的 Html 模板加载了吗?
    • 那么在模板中你有没有像 {% load static%} 这样加载静态文件?
    • 我确实有。不过,问题似乎并非如此。它更多的只是静态文件的定位。
    • 你做了类似的事情: STATIC_ROOT = os.path.join(BASE_DIR, 'static') STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'DEMOPROJECT/static ') ] 希望这会奏效
    【解决方案2】:

    试试这个python manage.py collectstatic 并重启你的服务器。希望对您有所帮助。

    【讨论】:

      【解决方案3】:

      感谢 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')
      

      【讨论】:

        猜你喜欢
        • 2014-10-20
        • 2020-12-30
        • 2014-08-15
        • 2022-10-13
        • 2015-05-17
        • 1970-01-01
        • 2016-03-30
        • 2012-10-02
        • 1970-01-01
        相关资源
        最近更新 更多