我如何将静态文件 (css) 添加到 Django Web 项目

How i can add static files (css) to django web project

我已经测试过将css样式嵌入到html模板中,但它不会加载css个文件,我的配置如下,你能帮忙吗?

checkstatic\showstatic\templates\index.html

<!DOCTYPE html>
<meta charset="UTF-8">
<html lang="en">
    <head>
        {% load static%}
        <link rel="stylesheet" type="text/css" href="{% static 'css/mystyle.css' %}">
    </head>
    <body>
        <img src="{% static 'logo1.png' height="200" width="200" class="d-inline-block align-top" %}" alt="">
        <h1 class="test">hahahaha</h1>

    </body>
</html>

checkstatic\static\css\mystyle.css

.test{
    color: red;
}

我的设置:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'showstatic'
]
...
STATIC_URL = 'static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = [
   os.path.join(BASE_DIR, 'checkstatic/static/')
]

当我访问索引站点时,它只应用 h1 标签,无法加载红色作为 css 配置。

Statics 用于获取和使用完整的文件(css、图像、js 等),在您的图像中它应该是:

<img src="{% static 'logo1.png' %}" height="200" width="200" class="d-inline-block align-top" alt="">

将 img 的属性留在静态块之外。

首先你应该创建目录=>静态* 然后在设置中添加基本目录:

STATICFILES_DIRS = [
BASE_DIR / 'directory_name'] // typically the name is: static_root
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR , 'media')

然后:在主项目中插入 url

from django.conf import settings
from django.conf.urls.static import static

+static(settings.MEDIA_URL, document_root= settings.MEDIA_ROOT)

!!注意!! ==> 你应该在每个 html 页的上方插入 {%load static %} 想了解更多,关注https://docs.djangoproject.com/en/4.0/howto/static-files/