diff --git a/django/core/urlresolvers.py b/django/core/urlresolvers.py index aadd290c33..78ce00511c 100644 --- a/django/core/urlresolvers.py +++ b/django/core/urlresolvers.py @@ -306,10 +306,8 @@ class RegexURLResolver(LocaleRegexProvider): tried.append([pattern]) else: if sub_match: - sub_match_dict = dict([(smart_str(k), v) for k, v in match.groupdict().items()]) - sub_match_dict.update(self.default_kwargs) - for k, v in sub_match.kwargs.iteritems(): - sub_match_dict[smart_str(k)] = v + sub_match_dict = dict(match.groupdict(), **self.default_kwargs) + sub_match_dict.update(sub_match.kwargs) return ResolverMatch(sub_match.func, sub_match.args, sub_match_dict, sub_match.url_name, self.app_name or sub_match.app_name, [self.namespace] + sub_match.namespaces) tried.append([pattern]) raise Resolver404({'tried': tried, 'path': new_path})