Skip to main content

Django template loader that allows you to load and override a template from a specific Django application.

Project description

Build status Code health Python versions Software license

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

django-apptemplates is tested against the officially supported combinations of Python and Django, since Django 1.4 (Django 1.4 to 3.0 on Python 2.7, and 3.4 to 3.8).

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

Authors and Maintainers

Change Log

(unreleased)

  • Drop support for Django 1.7 (ImportError)

  • Drop support for Python 2.6, 3.2, 3.3 (not available on Travis CI)

1.4

  • Fix Origin missing loader and template_name attrs – Thanks Brendan Roy, @bmon, and Matthew Somerville, @dracos!

  • Also test against Django 2.0

1.3

  • Add template loader to returned Origins – Thanks J.J., @jdotjdot!

  • Also test against Python 3.6 – Thanks Justin Walgran, @jwalgran!

1.2

  • Reestablish support for Django 1.4 through 1.8 (broken since version 1.1)

  • Add tests for template rendering

  • Drop support for Django 1.3 (which cannot be confirmed by tests)

  • Drop support for Python 2.4 and 2.5 (which cannot be tested anymore)

1.1.1

  • Fix ImportError for Django 1.8 (broken in release 1.1)

  • Add integration tests (test import of package across supported versions)

  • Add clean and test commands to setup.py

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-apptemplates-1.5.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

django_apptemplates-1.5-py2-none-any.whl (8.4 kB view details)

Uploaded Python 2

File details

Details for the file django-apptemplates-1.5.tar.gz.

File metadata

  • Download URL: django-apptemplates-1.5.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.6.9

File hashes

Hashes for django-apptemplates-1.5.tar.gz
Algorithm Hash digest
SHA256 c2c46afd3d90827c1d821f137d59e430cb203649aa275b9c2763c871d7545d3f
MD5 47d686723e3473dfe1cfd1feef4c5ac6
BLAKE2b-256 b409c1ba396458b478dd0266f92595e6bf939684097c25b5ceea87a103bc7c40

See more details on using hashes here.

File details

Details for the file django_apptemplates-1.5-py2-none-any.whl.

File metadata

  • Download URL: django_apptemplates-1.5-py2-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.6.9

File hashes

Hashes for django_apptemplates-1.5-py2-none-any.whl
Algorithm Hash digest
SHA256 5631affc850a41f31fbc723473988a341d0260fe09d3c268d31633405c347f36
MD5 0f55e832b9ec532cf7158fddf5bda9c6
BLAKE2b-256 e05206d264e06bef7df745ac772a90e598360b02548337ca43338e01ba5a04bf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page