简体   繁体   中英

Static CSS file not loading in Django framework

I'm running on localhost but stylesheet isn't working

Here is my project setup:

-main
   -main
   -home
      -templates
         -home
             -index.html
   -static
      -css
         -style.css

My settings.py:

STATICFILES_DIRS = [
    "/static/",
]

STATIC_URL = '/static/'

index.html:

{% load staticfiles %}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
    <title>My Home Page</title>
    <link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}" />
</head>
<body>
<p>My Content</p>
</body>
</html>

Here is what my server outputs: "GET /static/css/style.css HTTP/1.1" 404 1652

What is wrong?

设置是STATICFILES_DIRS ,而不是 STATICFILES_DIR。

Okay this change seemed to fix it:

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

index.html should be like this:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
{% load staticfiles %}
<html lang="en">
<head>
    <title>My Home Page</title>
    <link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}" />
</head>
<body>
    <p>My Content</p>
</body>
</html>

STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"),]

will work!

I was having the same issue because my settings file in Django didn't have the following lines of code, which I added to solve the problem

STATICFILES_DIRS = [
    BASE_DIR / "static",
    '/var/www/static/',
]

see the static files documentation here: https://docs.djangoproject.com/en/3.1/howto/static-files/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM