Я пытаюсь добавить несколько стилей CSS в базовый HTML-файл в версии Django 2.2.0.Однако я получаю следующий TemplateSyntaxError:
Invalid block tag on line 4: 'static'. Did you forget to register or load this tag?
Файл css с именем base.css существует в каталоге с именем static.Вот экран печати команды дерева.
.
├── blog
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── blog_project
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── db.sqlite3
├── manage.py
├── Pipfile
├── static
│ └── css
│ └── base.css
└── templates
├── base.html
└── home.html
А вот как я включил CSS в файл base.html.
<html>
<head>
<title>Django Blog</title>
<link href="{% static 'css/base.css' %}" rel="stylesheet">
</head>
<body>
<header>
<h1><a href="{% url 'home' %}">Django blog</a></h1>
</header>
<div>
{% block content %}
{% endblock content %}
</div>
</body>
</html>
Вот как у меня есть каталог статических файлов в файле settings.py:
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
Список моих установленных приложений в файле settings.py выглядит следующим образом:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog.apps.BlogConfig',
]
Я попытался изменить {% static 'css/base.css' %}
на {% load static 'css/base.css' %}
, но это приводит к другой ошибке:
''css/base.css'' is not a registered tag library. Must be one of:
admin_list
admin_modify
admin_static
admin_urls
cache
i18n
l10n
log
static
staticfiles
tz