Fixed #6831 -- Reverse URL resolver now replaces backslashes correctly. Thanks, Bastian Kleineidam

git-svn-id: http://code.djangoproject.com/svn/django/trunk@7660 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2008-06-16 04:16:21 +00:00
parent 02bbd9a9b2
commit e073861332
2 changed files with 2 additions and 1 deletions

View File

@ -86,7 +86,7 @@ def reverse_helper(regex, *args, **kwargs):
""" """
# TODO: Handle nested parenthesis in the following regex. # TODO: Handle nested parenthesis in the following regex.
result = re.sub(r'\(([^)]+)\)', MatchChecker(args, kwargs), regex.pattern) result = re.sub(r'\(([^)]+)\)', MatchChecker(args, kwargs), regex.pattern)
return result.replace('^', '').replace('$', '') return result.replace('^', '').replace('$', '').replace('\\', '')
class MatchChecker(object): class MatchChecker(object):
"Class used in reverse RegexURLPattern lookup." "Class used in reverse RegexURLPattern lookup."

View File

@ -17,6 +17,7 @@ test_data = (
('^hardcoded/$', 'hardcoded/', [], {}), ('^hardcoded/$', 'hardcoded/', [], {}),
('^hardcoded/$', 'hardcoded/', ['any arg'], {}), ('^hardcoded/$', 'hardcoded/', ['any arg'], {}),
('^hardcoded/$', 'hardcoded/', [], {'kwarg': 'foo'}), ('^hardcoded/$', 'hardcoded/', [], {'kwarg': 'foo'}),
('^hardcoded/doc\\.pdf$', 'hardcoded/doc.pdf', [], {}),
('^people/(?P<state>\w\w)/(?P<name>\w+)/$', 'people/il/adrian/', [], {'state': 'il', 'name': 'adrian'}), ('^people/(?P<state>\w\w)/(?P<name>\w+)/$', 'people/il/adrian/', [], {'state': 'il', 'name': 'adrian'}),
('^people/(?P<state>\w\w)/(?P<name>\d)/$', NoReverseMatch, [], {'state': 'il', 'name': 'adrian'}), ('^people/(?P<state>\w\w)/(?P<name>\d)/$', NoReverseMatch, [], {'state': 'il', 'name': 'adrian'}),
('^people/(?P<state>\w\w)/(?P<name>\w+)/$', NoReverseMatch, [], {'state': 'il'}), ('^people/(?P<state>\w\w)/(?P<name>\w+)/$', NoReverseMatch, [], {'state': 'il'}),