summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Kaplan-Moss <jacob@jacobian.org>2005-08-02 18:47:46 +0000
committerJacob Kaplan-Moss <jacob@jacobian.org>2005-08-02 18:47:46 +0000
commitffc3edd79ee4abc7a22ea07f0660322f50306334 (patch)
tree0d1060e56c8eec35128eb92395009b4270d579db
parent72e32b31f23415af8cc7a400f072c70f6b4bc6cc (diff)
Fixed a subtle bug with the {% load %} tag: if a tag/filter was removed from template.registered_tags/filters, {% load %} would fail (since module-level code is only run on an initial import). {% load %} now reloads the module, which makes sure that the tag always works even when someone's been doing something screwy. This fixes #242 (and wouldn't had been found without it, so much thanks).
git-svn-id: http://code.djangoproject.com/svn/django/trunk@390 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/core/defaulttags.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/django/core/defaulttags.py b/django/core/defaulttags.py
index 738a7d34b5..e5620f7743 100644
--- a/django/core/defaulttags.py
+++ b/django/core/defaulttags.py
@@ -225,7 +225,9 @@ class LoadNode(template.Node):
self.taglib = taglib
def load_taglib(taglib):
- return __import__("django.templatetags.%s" % taglib.split('.')[-1], '', '', [''])
+ mod = __import__("django.templatetags.%s" % taglib.split('.')[-1], '', '', [''])
+ reload(mod)
+ return mod
load_taglib = staticmethod(load_taglib)
def render(self, context):