home / django_tickets / tickets

tickets: 8564

This data as json

id created changetime last_pulled_from_trac stage status component type severity version resolution summary description owner reporter keywords easy has_patch needs_better_patch needs_tests needs_docs ui_ux
8564 2008-08-26 18:35:07 2008-08-31 20:12:41 2022-03-06 03:42:35.410401 Unreviewed closed contrib.admin     dev duplicate newforms-admin doesn't support linking to it via {% url %} or reverse() In the old admin, that was possible to have a link to the admin area in the UI, like: {{{ {% if user.is_staff %} <a href="{% url django.contrib.admin.views.main.index %}">Admin area</a> {% endif %} }}} or even: {{{ <a href="{% url django.contrib.admin.views.main.change_stage "app","model",instance.id %}">Edit instance</a> }}} In newforms-admin, that crashes with: {{{ Reverse for 'src.django.contrib.admin.site.root' not found. }}} I do realize that admin.site is now a Site instance, not a module, that's why {% url %} will never work for it. However, I can't see how to put a link to the admin area now? Currently I'm using the following hack: {{{ #!python urlpatterns = # ... #(r'^admin/(.*)', admin.site.root), (r'^admin/(.*)', 'views.admin_site_root'), # ... def admin_site_root(request, url): return admin.site.root(request, url) }}} and then: {{{ <a href="{% url views.admin_site_root "" %}">Admin</a> }}} which is pretty ugly (since of complete redundancy) but solves the problem. I defenitely think there should be a standard way to pull the admin site urls. I can suggest two approaches: 1. Extend reverse() and {% url %} to recognize/understand bound methods, in particular django.contrib.admin.site.root 2. Under django.contrib.admin.templatetags, create a set of tags like {% admin django.contrib.admin.site %} and {% admin_change_list django.contrib.site "app","model" %} nobody semenov newforms-admin reverse url 0 0 0 0 0 0
Powered by Datasette · Queries took 0.958ms