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

Posted

技术标签:

【中文标题】在应用程序 django 中使用 % url \'admin\' % 引用管理站点【英文标题】:Refer to admin site using % url 'admin' % in app django在应用程序 django 中使用 % url 'admin' % 引用管理站点 【发布时间】:2017-12-20 16:52:35 【问题描述】:

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

在这里

项目/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

模板.html

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

错误:

【问题讨论】:

【参考方案1】:

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

% url 'admin:index' %

参考:Django docs

【讨论】:

以上是关于在应用程序 django 中使用 % url 'admin' % 引用管理站点的主要内容,如果未能解决你的问题,请参考以下文章

复现CVE-2017-7233(Django url跳转漏洞)

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

如何在 Django 模板中集中 URL?

python_django_urls模块与views模块请求访问过程

人生苦短,我用python-- Day19 django框架之URL路由系统视图应用模板应用django之orm应用

Django入门   动态URL