diff --git a/fake_settings.py b/fake_settings.py
index f45619f..4fbf0ac 100644
--- a/fake_settings.py
+++ b/fake_settings.py
@@ -5,7 +5,7 @@ path = lambda *a: os.path.join(ROOT, *a)
ROOT = os.path.dirname(os.path.abspath(__file__))
INSTALLED_APPS = (
'jingo.tests.jinja_app',
- 'jingo.tests.django_app'
+ 'jingo.tests.django_app',
)
TEMPLATE_LOADERS = (
'jingo.Loader',
@@ -14,3 +14,4 @@ TEMPLATE_LOADERS = (
)
TEMPLATE_DIRS = (path('jingo/tests/templates'),)
JINGO_EXCLUDE_APPS = ('django_app',)
+ROOT_URLCONF = 'jingo.tests.urls'
diff --git a/jingo/helpers.py b/jingo/helpers.py
index 6f6c8ab..af36ac5 100644
--- a/jingo/helpers.py
+++ b/jingo/helpers.py
@@ -1,6 +1,7 @@
from django.utils.translation import ugettext as _
from django.template.defaulttags import CsrfTokenNode
from django.utils.encoding import smart_unicode
+from django.core.urlresolvers import reverse
import jinja2
@@ -73,3 +74,9 @@ def field_attrs(field_inst, **kwargs):
"""Adds html attributes to django form fields"""
field_inst.field.widget.attrs.update(kwargs)
return field_inst
+
+
+@register.function
+def url(viewname, *args, **kwargs):
+ """Return URL using django's ``reverse()`` function."""
+ return reverse(viewname, args=args, kwargs=kwargs)
diff --git a/jingo/tests/test_helpers.py b/jingo/tests/test_helpers.py
index 80e33df..b74e33f 100644
--- a/jingo/tests/test_helpers.py
+++ b/jingo/tests/test_helpers.py
@@ -119,3 +119,11 @@ def test_field_attrs():
s = render('{{ field|field_attrs(class="bar",name="baz") }}',
{'field': f})
eq_(s, '')
+
+
+def test_url():
+ # urls defined in jingo/tests/urls.py
+ s = render('{{ url("url-args", 1, "foo") }}')
+ eq_(s, "/url/1/foo/")
+ s = render('{{ url("url-kwargs", word="bar", num=1) }}')
+ eq_(s, "/url/1/bar/")
diff --git a/jingo/tests/urls.py b/jingo/tests/urls.py
new file mode 100644
index 0000000..e0e4cba
--- /dev/null
+++ b/jingo/tests/urls.py
@@ -0,0 +1,6 @@
+from django.conf.urls.defaults import patterns
+
+urlpatterns = patterns('',
+ (r'^url/(\d+)/(\w+)/$', lambda r: None, {}, "url-args"),
+ (r'^url/(?P\d+)/(?P\w+)/$', lambda r: None, {}, "url-kwargs"),
+)