Reputation:
Very basic question, but I'm having trouble tracking down the answer on the web. I have a template, which I want to link to the django admin site (i.e. localhost:8000/admin). What is the code for this?
I'm imagining something like
<a href="{% url admin.site.root %}">link to admin panel</a>
However, when I try the above snippet I get:
Caught an exception while rendering:
Reverse for 'project_name.django.contrib.admin.sites.root' with
arguments '()' and keyword arguments '{}' not found.
Help?
Upvotes: 69
Views: 39719
Reputation: 7082
Try what Oggy is suggesting but then use ':' instead of '_' with the current Django:
<a href="{% url 'admin:index' %}">link to admin panel</a>
Upvotes: 130
Reputation: 1859
Which django version are you using? If you're using trunk, change your admin urlpatterns from:
(r'^admin/(.*)', admin.site.root)
to:
('^admin/', include(admin.site.urls))
And then you get a named URL pattern called 'admin_index' which you can refer to. See
http://docs.djangoproject.com/en/dev/ref/contrib/admin/#reversing-admin-urls
for more information
Upvotes: 8