I think the url tag if can work like below maybe more useful  .

Example

mytags.py:
.....
@register.inclusion_tag('xxx.html')
def page_link(url_name):
    return {"url_name":url_name}
______________________________________________________

xxx.html:

<a href="{% url url_name 1 %}">1</a>

______________________________________________________

Here , I modify the code of URLNode to do this :

class URLNode(Node):
    def __init__(self, view_name, args, kwargs):
        self.view_name = view_name
        self.args = args
        self.kwargs = kwargs

    def render(self, context):
        from django.core.urlresolvers import reverse, NoReverseMatch
        args = [arg.resolve(context) for arg in self.args]
        kwargs = dict([(smart_str(k,'ascii'), v.resolve(context)) for
k, v in self.kwargs.items()])


        def _reverse(url_name):
            return reverse(url_name,args=args, kwargs=kwargs)

        try:
            return _reverse(self.view_name)
        except NoReverseMatch:
            try:
                project_name = settings.SETTINGS_MODULE.split('.')[0]
                return _reverse(project_name + '.' + self.view_name)
            except NoReverseMatch:
                url = context.get(self.view_name,'')
                if url:
                    try:
                            return _reverse(url)
                    except NoReverseMatch:
                        try:
                            return _reverse(project_name + '.' + url)
                        except NoReverseMatch:
                            return ''
            return ''







-- 
我的博客:http://zsp.javaeye.com/

-- 张沈鹏(ZhangShen Peng)

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to