diff options
| author | Jacob Kaplan-Moss <jacob@jacobian.org> | 2005-08-02 18:47:46 +0000 |
|---|---|---|
| committer | Jacob Kaplan-Moss <jacob@jacobian.org> | 2005-08-02 18:47:46 +0000 |
| commit | ffc3edd79ee4abc7a22ea07f0660322f50306334 (patch) | |
| tree | 0d1060e56c8eec35128eb92395009b4270d579db | |
| parent | 72e32b31f23415af8cc7a400f072c70f6b4bc6cc (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.py | 4 |
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): |
