from django.conf.urls import patterns, include, url
from django.core.urlresolvers import reverse
from django.views.generic.base import RedirectView

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns(
    '',
    url(r'^$', RedirectView.as_view(url=reverse('admin:index')), name='home'),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
    url(r'^', include('hierarchy.urls')),
    url(r'^', include('data.urls')),
)

@@ -89,16 +89,21 @@
  reverse
+_lazy
 %0Afrom dj
@@ -281,16 +281,21 @@
 =reverse
+_lazy
 ('admin:
@@ -303,16 +303,24 @@
 ndex')),
+%0A       
  name='h

Use reverse_lazy to avoid weird url setup circularity.