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.