Django - 加载静态

时间:2017-11-23 14:01:23

标签: python html css django

我正在尝试将静态文件加载到我的html文件中。 index.html扩展了base.html。但是,不读取文件(至少未在屏幕上显示,但终端不说未找到)

在index.html和base.html的头部,我有一个标签

{% load static %}

我使用index.html中的标记读取.css文件:

{% static 'base/css/style.css' %}

在setting.py中,我有:

TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': ['Grace/templates/',
             'HomePage/templates/',
             'Forum/templates/',
             'CustomUser/templates'],
    'APP_DIRS': True,
    'OPTIONS': {
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
            'django.template.context_processors.csrf',
            ],
        },
    },
]

我的项目结构是这样的:

|Grace
|--static
|----base
|------css
|--------boostrap.min.css
|--------style.css
|------templates
|--------base.html

|Homepage
|--templates
|----index
|------index.html

提前致谢!

1 个答案:

答案 0 :(得分:1)

尝试按照以下步骤操作:

假设这是您的目录:

project_folder
├── app_1
├── app_2
├── static
│   ├── css
│   │     ├── bootstrap.css
│   ├── fonts
│   └── js
├── templates

settings.py文件中,您必须在我的示例中指定包含名为static的静态文件的文件夹的路径:

STATIC_URL = '/static/'

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

您可以在html个文件中加载boostrap.css这样的文件:

{% load static %}

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>

    <meta charset="UTF-8">
    <title></title>
    <link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet">

</head>

<body>