链接到django管理站点

46 django django-templates django-urls django-admin

非常基本的问题,但我无法在网上追踪答案.我有一个模板,我想链接到django管理站点(即localhost:8000/admin).这是什么代码?

我在想象类似的东西

<a href="{% url admin.site.root %}">link to admin panel</a>
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试上面的代码片段时,我得到:

Caught an exception while rendering:
  Reverse for 'project_name.django.contrib.admin.sites.root' with
  arguments '()' and keyword arguments '{}' not found.
Run Code Online (Sandbox Code Playgroud)

救命?

Rom*_*ain 88

试试Oggy的建议,然后用当前的Django使用':'而不是'_':

<a href="{% url 'admin:index' %}">link to admin panel</a>
Run Code Online (Sandbox Code Playgroud)

  • 对于来自谷歌的任何人来说,Django 1.5+是`{%url"admin:index"%}`,带引号 (6认同)
  • 如果您想链接到管理站点的子页面,请参阅[此答案](/sf/answers/205116901/) (2认同)

ogg*_*ggy 8

你使用哪个django版本?如果您正在使用主干,请更改您的管理网址:

(r'^admin/(.*)', admin.site.root)
Run Code Online (Sandbox Code Playgroud)

至:

('^admin/', include(admin.site.urls))
Run Code Online (Sandbox Code Playgroud)

然后,您将获得一个名为"admin_index"的命名URL模式,您可以参考该模式.看到

http://docs.djangoproject.com/en/dev/ref/contrib/admin/#reversing-admin-urls

欲获得更多信息