diff options
| author | Jacob Kaplan-Moss <jacob@jacobian.org> | 2009-04-01 23:09:45 +0000 |
|---|---|---|
| committer | Jacob Kaplan-Moss <jacob@jacobian.org> | 2009-04-01 23:09:45 +0000 |
| commit | a080fcd1a65c862d61c196e7785d5d9d38813a5c (patch) | |
| tree | 4618774ab3a4214c051fb22092e194f9dd3a866b /django | |
| parent | f58df036bddcf41ce50e0ea217fbef2f8470e98b (diff) | |
[1.0.X] Fixed #9005: don't wig out when reversing a URL if SETTINGS_MODULE isn't set. While I was there, I fixed #10599 by re-raising the original error message, which is almost always a better idea. Thanks, Eric. Backport of r10350 from trunk.
git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@10351 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
| -rw-r--r-- | django/core/management/__init__.py | 2 | ||||
| -rw-r--r-- | django/template/defaulttags.py | 21 |
2 files changed, 15 insertions, 8 deletions
diff --git a/django/core/management/__init__.py b/django/core/management/__init__.py index 593e678008..21fad3fc51 100644 --- a/django/core/management/__init__.py +++ b/django/core/management/__init__.py @@ -325,7 +325,7 @@ def setup_environ(settings_mod, original_settings_path=None): else: os.environ['DJANGO_SETTINGS_MODULE'] = '%s.%s' % (project_name, settings_name) - # Import the project module. We add the parent directory to PYTHONPATH to + # Import the project module. We add the parent directory to PYTHONPATH to # avoid some of the path errors new users can have. sys.path.append(os.path.join(project_directory, os.pardir)) project_module = __import__(project_name, {}, {}, ['']) diff --git a/django/template/defaulttags.py b/django/template/defaulttags.py index 8182cd4d8c..342d1fb34a 100644 --- a/django/template/defaulttags.py +++ b/django/template/defaulttags.py @@ -371,15 +371,22 @@ class URLNode(Node): url = '' try: url = reverse(self.view_name, args=args, kwargs=kwargs) - except NoReverseMatch: - project_name = settings.SETTINGS_MODULE.split('.')[0] - try: - url = reverse(project_name + '.' + self.view_name, + except NoReverseMatch, e: + if settings.SETTINGS_MODULE: + project_name = settings.SETTINGS_MODULE.split('.')[0] + try: + url = reverse(project_name + '.' + self.view_name, args=args, kwargs=kwargs) - except NoReverseMatch: + except NoReverseMatch: + if self.asvar is None: + # Re-raise the original exception, not the one with + # the path relative to the project. This makes a + # better error message. + raise e + else: if self.asvar is None: - raise - + raise e + if self.asvar: context[self.asvar] = url return '' |
