try:
subpath = reverse(view_name, urlconf=self, args=args or [], kwargs=kwargs or {})
- except NoReverseMatch:
- raise ViewCanNotProvideSubpath
+ except NoReverseMatch, e:
+ raise ViewCanNotProvideSubpath(e.message)
if node is not None:
return node.construct_url(subpath)
try:
self.get_target_url()
- except NoReverseMatch, e:
+ except (NoReverseMatch, ViewCanNotProvideSubpath), e:
raise ValidationError(e.message)
super(TargetURLModel, self).clean()
node = self.target_node
if node is not None and node.accepts_subpath and self.url_or_subpath:
if self.reversing_parameters is not None:
- view_name, args, kwargs = self.get_reversing_params()
+ view_name, args, kwargs = self.get_reverse_params()
subpath = node.view.reverse(view_name, args=args, kwargs=kwargs)
else:
subpath = self.url_or_subpath
return node.get_absolute_url()
else:
if self.reversing_parameters is not None:
- view_name, args, kwargs = self.get_reversing_params()
+ view_name, args, kwargs = self.get_reverse_params()
return reverse(view_name, args=args, kwargs=kwargs)
return self.url_or_subpath
target_url = property(get_target_url)