Héllo Per-Olof,
Yes, it should work if you reference the template *without* the app_name for instance
{% extends "base.html" %}
{% include "footer.html" %}
or in python with «render(request, "base.html", ctx)» but you never render the base html or footer directly so this is dummy example
whereas to get it to work, I had to put them in
app_name/templates/app_name/*.html
it only works if you reference the app_name when you call the template for instance «render(request, "app_name/index.html", ctx)» same for include and extends.
It's a convention to avoid clash between templates names, it a way to namespace templates, otherwise you would need to namespace the names of the templates like: «app_name_index.html» which is not nice...