Django template loader that allows you to load and override a template from a specific Django application.
Project description
django-apptemplates is a Django template loader that allows you to load a template from a specific application. By this you can both extend and override a template at the same time. The default Django loaders require you to copy the entire template you want to override, even if you only want to override one small block.
Based on: http://djangosnippets.org/snippets/1376/
Version Support
Python 2.4 through 3.5, and Django 1.3 through 1.9 are supported (as reported by users).
Installation, Setup and Use
This package is available from PyPI. To install it simply execute:
$ pip install django-apptemplates
Settings (for Django 1.8+)
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'OPTIONS': {
'loaders': [
'apptemplates.Loader',
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
],
},
},
]
Settings (for Django < 1.8)
TEMPLATE_LOADERS = (
'apptemplates.Loader',
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)
How To Use In Templates
Template usage example (extend and override Django admin base template):
{% extends "admin:admin/base.html" %}
The part before the colon (:) is called the Django app namespace.
Alternatives
django-app-namespace-template-loader (supports empty namespaces)
Change Log
1.1
Use django.template.Origin in computation of template location for Django 1.9 compatibility. – Thanks, Gilles Crettenand!
1.0
Remove Django 1.9 deprecation warning of imports
Update README with instructions for Django 1.8+
0.2
Skipped to fix conflicting versioning in setup.py and the PyPI package
0.0.1
Released as originally published on djangosnippets
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.