dastergon dastergon - 3 months ago 21
Python Question

Why load staticfiles for every template even if it is extendend?

I have a base.html file which has some 'random' html code and I have the following code:

{% load staticfiles %}
<!DOCTYPE html>
{% block extra_js_top %}{% endblock %}

In my index.html file I extend base.html and I load some extra javascript files:

{% extends "base.html" %}
{% block extra_js_top %}
<script type="text/javascript" src="{% static "js/somejs.js" %}"></script>
{% endblock %}

The problem is that extra javascript doesn't load because of the static var. It doesn't load even if I extend base.html which have the
{% load staticfiles %}
inside the template. Finally I solved the problem adding one more
{% load staticfiles %}
at index.html.

My question is why we should add
{% load staticfiles %}
for every template we use even if we extend a file that has it already?


Template inheritance allows you to build a base "skeleton" template that contains all the common elements of your site and defines blocks that child templates can override.

For the more information, Template inheritance