mirror of
https://github.com/django/django.git
synced 2025-11-02 21:03:53 +00:00
Fixed #13154 -- Fixed the URL resolver's reverse() to match the behavior of its resolve() with regard to the default kwargs. Many thanks to patrys.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16177 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
eb24b54634
commit
fe96214939
4 changed files with 28 additions and 9 deletions
|
|
@ -127,8 +127,13 @@ test_data = (
|
|||
('kwargs_view', '/arg_view/10/', [], {'arg1':10}),
|
||||
('regressiontests.urlpatterns_reverse.views.absolute_kwargs_view', '/absolute_arg_view/', [], {}),
|
||||
('regressiontests.urlpatterns_reverse.views.absolute_kwargs_view', '/absolute_arg_view/10/', [], {'arg1':10}),
|
||||
('non_path_include', '/includes/non_path_include/', [], {})
|
||||
('non_path_include', '/includes/non_path_include/', [], {}),
|
||||
|
||||
# Tests for #13154
|
||||
('defaults', '/defaults_view1/3/', [], {'arg1': 3, 'arg2': 1}),
|
||||
('defaults', '/defaults_view2/3/', [], {'arg1': 3, 'arg2': 2}),
|
||||
('defaults', NoReverseMatch, [], {'arg1': 3, 'arg2': 3}),
|
||||
('defaults', NoReverseMatch, [], {'arg2': 1}),
|
||||
)
|
||||
|
||||
class NoURLPatternsTests(TestCase):
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ urlpatterns = patterns('',
|
|||
url(r'^people/(?:name/)', empty_view, name="people2"),
|
||||
url(r'^people/(?:name/(\w+)/)?', empty_view, name="people2a"),
|
||||
url(r'^optional/(?P<name>.*)/(?:.+/)?', empty_view, name="optional"),
|
||||
url(r'^hardcoded/$', 'hardcoded/', empty_view, name="hardcoded"),
|
||||
url(r'^hardcoded/$', empty_view, name="hardcoded"),
|
||||
url(r'^hardcoded/doc\.pdf$', empty_view, name="hardcoded2"),
|
||||
url(r'^people/(?P<state>\w\w)/(?P<name>\w+)/$', empty_view, name="people3"),
|
||||
url(r'^people/(?P<state>\w\w)/(?P<name>\d)/$', empty_view, name="people4"),
|
||||
|
|
@ -55,7 +55,11 @@ urlpatterns = patterns('',
|
|||
url(r'arg_view/(?P<arg1>\d+)/$', 'kwargs_view'),
|
||||
url(r'absolute_arg_view/(?P<arg1>\d+)/$', absolute_kwargs_view),
|
||||
url(r'absolute_arg_view/$', absolute_kwargs_view),
|
||||
|
||||
|
||||
# Tests for #13154. Mixed syntax to test both ways of defining URLs.
|
||||
url(r'defaults_view1/(?P<arg1>\d+)/', 'defaults_view', {'arg2': 1}, name='defaults'),
|
||||
(r'defaults_view2/(?P<arg1>\d+)/', 'defaults_view', {'arg2': 2}, 'defaults'),
|
||||
|
||||
url('^includes/', include(other_patterns)),
|
||||
|
||||
)
|
||||
|
|
|
|||
|
|
@ -13,6 +13,9 @@ def kwargs_view(request, arg1=1, arg2=2):
|
|||
def absolute_kwargs_view(request, arg1=1, arg2=2):
|
||||
return HttpResponse('')
|
||||
|
||||
def defaults_view(request, arg1, arg2):
|
||||
pass
|
||||
|
||||
class ViewClass(object):
|
||||
def __call__(self, request, *args, **kwargs):
|
||||
return HttpResponse('')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue