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:
parent
02bbd9a9b2
commit
e073861332
|
@ -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."
|
||||||
|
|
|
@ -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'}),
|
||||||
|
|
Loading…
Reference in New Issue