Invalid block tag: 'static'
Solution 1
Make sure that 'django.contrib.staticfiles' is included in your INSTALLED_APPS.
Solution 2
This worked for me
{% load staticfiles %}
Solution 3
include
{% load static %}
just above tag in your html file, it will make HTML file to load static files like css, js, images etc
Solution 4
add {% load static %}
at the top of html file, under the DOCTYPE html line
Solution 5
07 Sept, 2020 i also faced the same problem on Django 3.2.2 and this worked for me.
{% load static %}
Yan Yang
Software Development Engineer Interested in Machine Learning and Cognitive Science research.
Updated on January 03, 2022Comments
-
Yan Yang over 2 years
Server returned
TemplateSyntaxError at / Invalid block tag: 'static'
on this line:<img src="{% static 'icon/logo.png' %}">
.The whold html file is like this (it's an html file {% include %}ed by another one):
{% load staticfiles %} <div class="header"> <nav> <ul class="nav nav-pills pull-right"> <li role="presentation"><a href="{% url 'offer rank' %}">潮品榜</a></li> <li role="presentation"><a href="{% url 'user rank' %}">达人榜</a></li> <li role="presentation"><a href="#" data-toggle="modal" data-target="#start">登陆</a></li> <li role="presentation"><a href="#" data-toggle="modal" data-target="#start">注册</a></li> {% if debug_users %} <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">切换用户<span class="caret"></span></a> <ul class="dropdown-menu" role="menu"> {% for debug_user in debug_users %} <li><a href="{% url 'debug login' debug_user.id %}">{% if debug_user.kbjuser.user_type == '1' %}达人{% else %}商家{% endif %}: {{ debug_user.username }}</a></li> {% endfor %} </ul> </li> {% endif %} </ul> </nav> <h3><img src="{% static 'icon/logo.png' %}"> <a href="{% url 'home' %}" class="text-muted">口碑街</a> </h3> </div>
And settings.py is like this:
# Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.7/howto/static-files/ STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, "static/") MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, "media/") from hw.settings import * from useraccess.settings import * STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', # other finders.. 'compressor.finders.CompressorFinder', ) COMPRESS_ENABLED = True
I can't figure out what happens here.
Here are some more lines in settings.py:
# Application definition INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'mptt', 'hw', 'useraccess', 'proxy', 'compressor', 'sekizai', ) MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'useraccess.middleware.VisitCollectMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ) TEMPLATE_CONTEXT_PROCESSORS = ( 'django.contrib.auth.context_processors.auth', 'django.core.context_processors.i18n', 'django.core.context_processors.request', 'django.core.context_processors.media', 'django.core.context_processors.static', 'hw.context_processors.user_info', 'hw.context_processors.login_form', 'hw.context_processors.get_all_user', 'sekizai.context_processors.sekizai', ) ROOT_URLCONF = 'ddw.urls' WSGI_APPLICATION = 'ddw.wsgi.application' LOGIN_URL = '/login/'
-
Yan Yang over 9 yearsI have included this one.
-
Yan Yang over 9 yearsI think I have all things in the checklist done. You can see the lines I added to the question.
-
Dr. Younes Henni over 6 yearsNow for Django 1.11 the correct ofrmat is: {% load static %}
-
Jon over 5 yearsThis should be the accepted answer as it relates directly to OP's question
-
Dinith Rukshan Kumara about 3 yearsPage is not found. Please update the answer.