在应用程序 django 中使用 {% url 'admin' %} 引用管理站点

问题描述 投票:0回答:2

我想使用 {% url 'admin' %} 将用户移动到 Django 中的管理面板站点,但问题是我在应用程序中呈现的模板,我不想在 project/site/urls.py 中重写

url("^admin/",admin.site.urls)

在这里

项目/urls.py

urlpatterns = [
url(r"^admin/", admin.site.urls, name="admin"),
url(r"^", include("core.urls")),]

项目/站点/urls.py

urlpatterns = [
url(r"^$",indexView.as_view() ,name="index" ),
]
accountspattenrns = {
url(r"^accounts/signup/$",signupView.as_view() ,name="signup" ),    
url(r"^accounts/login/$",loginView.as_view() ,name="login" ),    
url(r"^accounts/logout/$",logoutView.as_view() ,name="logout" ),    
url(r"^accounts/profile/$",ProfileView.as_view() ,name="profile" ),    
}
urlpatterns +=accountspattenrns

template.html

<li><a href="{% url 'admin' %}"><i class="fa fa-black-tie fa-2x"></i>
<div>Admin</div></a></li> 

错误:

python django django-templates django-urls
2个回答
31
投票

尝试使用管理命名空间反转 URL

{% url 'admin:index' %}

参考文献:Django 文档


0
投票

您不需要在 admin.site.urls 上添加自定义名称,因为它已经存在。 正如 Arpit Solanki 建议的那样,尝试使用 admin namespace

反转 URL

{% url 'admin:index' %}
对于其他 URL(带有名称),请参阅 Django 包中的 django/contrib/admin/sites.py 文件或 reversing-admin-urls

© www.soinside.com 2019 - 2024. All rights reserved.