From 39639cfd22386856e4ee3cc9fe5e75c30bec066b Mon Sep 17 00:00:00 2001 From: Adrian Holovaty Date: Sun, 15 Jan 2006 00:48:23 +0000 Subject: Fixed #1176 -- Changed {% comment %} template tag not to generate a nodelist, so it's now possible to comment-out broken template tags. Thanks, Kieran Holland git-svn-id: http://code.djangoproject.com/svn/django/trunk@1964 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/core/template/__init__.py | 7 +++++++ django/core/template/defaulttags.py | 3 +-- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'django') diff --git a/django/core/template/__init__.py b/django/core/template/__init__.py index 60bb5e0888..6298ce24b9 100644 --- a/django/core/template/__init__.py +++ b/django/core/template/__init__.py @@ -311,6 +311,13 @@ class Parser(object): self.unclosed_block_tag(parse_until) return nodelist + def skip_past(self, endtag): + while self.tokens: + token = self.next_token() + if token.token_type == TOKEN_BLOCK and token.contents == endtag: + return + self.unclosed_block_tag([endtag]) + def create_variable_node(self, filter_expression): return VariableNode(filter_expression) diff --git a/django/core/template/defaulttags.py b/django/core/template/defaulttags.py index c11a67838a..518498664d 100644 --- a/django/core/template/defaulttags.py +++ b/django/core/template/defaulttags.py @@ -286,8 +286,7 @@ def comment(parser, token): """ Ignore everything between ``{% comment %}`` and ``{% endcomment %}`` """ - nodelist = parser.parse(('endcomment',)) - parser.delete_first_token() + parser.skip_past('endcomment') return CommentNode() comment = register.tag(comment) -- cgit v1.3