From ee377fe2f02023b4726a6dd614104fd895e5e776 Mon Sep 17 00:00:00 2001 From: Daniel Izquierdo Date: Tue, 21 Feb 2012 15:55:39 +0900 Subject: [PATCH] Implement `reverse_lazy()' --- djangorestframework/utils/__init__.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/djangorestframework/utils/__init__.py b/djangorestframework/utils/__init__.py index 13b3c9b6d..afef4f195 100644 --- a/djangorestframework/utils/__init__.py +++ b/djangorestframework/utils/__init__.py @@ -1,3 +1,4 @@ +import django from django.utils.encoding import smart_unicode from django.utils.xmlutils import SimplerXMLGenerator from django.core.urlresolvers import resolve, reverse as django_reverse @@ -188,3 +189,13 @@ def reverse(viewname, request, *args, **kwargs): *request* to build a fully qualified URL. """ return request.build_absolute_uri(django_reverse(viewname, *args, **kwargs)) + +if django.VERSION >= (1, 4): + from django.core.urlresolvers import reverse_lazy as django_reverse_lazy + + def reverse_lazy(viewname, request, *args, **kwargs): + """ + Do the same as :py:func:`django.core.urlresolvers.reverse_lazy` but using + *request* to build a fully qualified URL. + """ + return request.build_absolute_uri(django_reverse_lazy(viewname, *args, **kwargs))