模板文件中的静态无效块标记

static Invalid block tag inside template file

我在尝试从我的应用程序文件结构中引用 styles.css 文件时遇到无效块标记问题,甚至已将所有内容配置为 django 文档(以及堆栈溢出中的其他几个答案)。

我在 python3.6 venv 中使用 django 2.2.3 以及 pureCSS 库。

这是我的项目文件和配置的概述,涉及模板和静态 dir/files:

1- settings.py INSTALLED_APPSSTATIC_URL定义:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'pyonlinecourses.core',
]
...
STATIC_URL = '/static/'

2- settings.py 模板 定义:

TEMPLATES_DIR = os.path.join(BASE_DIR, "pyonlinecourses/core/templates/")
TEMPLATES = [
    {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [TEMPLATES_DIR],
    '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.core.context_processors.static',
            ],
        },
    },
]

3- Django项目目录结构:

- pyonlinecourses
  - core
    - migrations
    - static
      - css
    - templates
      - home **(issue located in this file)**

5- static 标签定义和参考 html 文件

<!doctype html>
{& load static &}
<html lang="en">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="description" content="PyOnline Courses - Simple distance education virtual learning environment" />
  <title>PyOnline MOOC</title>
  <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.3.0/pure-min.css">
  <link rel="stylesheet" href="{% static 'css/styles.css' %}" />
</head>

我在尝试找出问题的根源时不知所措。

您有 {& load static &} 而不是 {% load static %}