Ticket #7049: defaulttags.diff

File defaulttags.diff, 1.4 KB (added by tonal@…, 17 years ago)

path for url tag

  • defaulttags.py

     
    357357    def render(self, context):
    358358        from django.core.urlresolvers import reverse, NoReverseMatch
    359359        args = [arg.resolve(context) for arg in self.args]
     360        view_name = self.view_name.resolve(context)
     361        if not view_name:
     362            view_name = self.view_name.token
    360363        kwargs = dict([(smart_str(k,'ascii'), v.resolve(context))
    361364                       for k, v in self.kwargs.items()])
    362365        try:
    363             return reverse(self.view_name, args=args, kwargs=kwargs)
     366            return reverse(view_name, args=args, kwargs=kwargs)
    364367        except NoReverseMatch:
    365368            try:
    366369                project_name = settings.SETTINGS_MODULE.split('.')[0]
    367                 return reverse(project_name + '.' + self.view_name,
     370                return reverse(project_name + '.' + view_name,
    368371                               args=args, kwargs=kwargs)
    369372            except NoReverseMatch:
    370373                return ''
     
    10501053                kwargs[k] = parser.compile_filter(v)
    10511054            else:
    10521055                args.append(parser.compile_filter(arg))
    1053     return URLNode(bits[1], args, kwargs)
     1056    return URLNode(parser.compile_filter(bits[1]), args, kwargs)
    10541057url = register.tag(url)
    10551058
    10561059#@register.tag
Back to Top