From 37c54c27bdb555de8525fbb56681cf4448d0020c Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Sun, 25 Nov 2012 19:51:42 +0100 Subject: [PATCH] [1.5.x] Change exception type to reduce confusion. TemplateSyntaxError is expected at compile time, not at run time. Refs #19280. Backport of 7644800. --- django/template/defaulttags.py | 4 ++-- tests/regressiontests/templates/tests.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/django/template/defaulttags.py b/django/template/defaulttags.py index 1f4627e32a2..45f4c1dbb14 100644 --- a/django/template/defaulttags.py +++ b/django/template/defaulttags.py @@ -399,8 +399,8 @@ class URLNode(Node): view_name = self.view_name.resolve(context) if not view_name: - raise TemplateSyntaxError("'url' takes requires a non-empty first" - " argument. The syntax changed in Django 1.5, see the docs.") + raise NoReverseMatch("'url' requires a non-empty first argument. " + "The syntax changed in Django 1.5, see the docs.") # Try to look up the URL twice: once given the view name, and again # relative to what we guess is the "main" app. If they both fail, diff --git a/tests/regressiontests/templates/tests.py b/tests/regressiontests/templates/tests.py index 6d55ebbc17c..b46e38cc156 100644 --- a/tests/regressiontests/templates/tests.py +++ b/tests/regressiontests/templates/tests.py @@ -20,7 +20,7 @@ except ImportError: # Python 2 from django import template from django.template import (base as template_base, Context, RequestContext, - Template, TemplateSyntaxError) + Template) from django.core import urlresolvers from django.template import loader from django.template.loaders import app_directories, filesystem, cached @@ -369,7 +369,7 @@ class Templates(TestCase): # Regression test for #19280 t = Template('{% url path.to.view %}') # not quoted = old syntax c = Context() - with self.assertRaisesRegexp(TemplateSyntaxError, + with self.assertRaisesRegexp(urlresolvers.NoReverseMatch, "The syntax changed in Django 1.5, see the docs."): t.render(c)