Skip to main content

This application is useful when you want to overwrite a template of a application in your project. Currently this in Django produce infinite recursion

Project description

django-smart-extends

https://api.travis-ci.org/goinnn/django-smart-extends.png?branch=master https://badge.fury.io/py/django-smart-extends.png https://pypip.in/d/django-smart-extends/badge.png

django-smart-extends is a Django application that allows improve the extension system of Django templates.

It is distributed under the terms of the license write in the same directory, in the file COPYING.LGPLv3

Dependencies

How to install

In your settings.py

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.admin',

    ...

    'smartextends',

)

And if you want:

OVERWRITE_EXTENDS = True

How to use

This application is useful when you want to overwrite a template of a application in your project. Currently this in Django produce infinite recursion

This is an example with django.contrib.admin app, but django-smart-extends works with any application, this is not only to the admin site. This is very useful if you use reusable django apps or any CMS implemented in django.

If you set OVERWRITE_EXTENDS = True

file:admin/change_list.html

{% extends "admin/change_list.html" %}

{% block extrastyle %}
    {{ block.super }}
    <link rel="stylesheet" type="text/css" href="XXX" />
{% endblock %}

Else:

file:admin/change_list.html

{% smart_extends "admin/change_list.html" %}

{% block extrastyle %}
    {{ block.super }}
    <link rel="stylesheet" type="text/css" href="XXX" />
{% endblock %}

Patche

If you set TEMPLATE_DEBUG = False in settings.py you must patch the django code. You can find the patch in the patches directoy:

patch -p2 -N -d my/path/of/django/ < ./patches/patch.diff

Reported

0.7.0 (2013-10-05)

  • Move the repository to github
  • Add example project
  • Add unit tests
  • Improvements in the code (for each branch)
  • Improvements in the patches (for each branch
  • Integration with Travis
  • Details

0.6 (2012-11-07)

  • Compatible with Django 1.4 (need Django patches when DEBUG_TEMPLATE is False)

0.5.1 (2011-12-03)

  • Compatible with Django 1.2 and Django 1.3 (need Django patches when DEBUG_TEMPLATE is False)

0.5.0 (2011-01-11)

  • Initial version

Project details


Release history Release notifications

This version
History Node

0.7.0

History Node

0.6

History Node

0.5.1

History Node

0.5

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
django-smart-extends-0.7.0.tar.gz (7.7 kB) Copy SHA256 hash SHA256 Source None Oct 5, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page