模板标签和反向函数中的 django admin 冒号语法

Posted

技术标签:

【中文标题】模板标签和反向函数中的 django admin 冒号语法【英文标题】:django admin colon syntax in template tags and in reverse function 【发布时间】:2012-09-17 19:32:02 【问题描述】:

在通过示例学习 Django 时,我发现了一些我还不知道的东西,也没有找到任何参考。我确信它在某处有很好的记录,但我还没有找到如何搜索它。另外,如果我重新提出一个已经回答的问题,我深表歉意,我也没有在这里找到它。 我想了解的是“admin:...”语法,我在几种情况下遇到过:

在模板 .html 文件中:

<a href="% url admin:todo_datetime_add %">Add Todo items</a>

在视图函数中:

return HttpResponseRedirect(reverse("admin:todo_item_changelist"))

我已经浏览了djangoproject 教程和djangobook 的前8 章,但我在那里没有遇到。不过,我知道,在反向函数中,可能会传递视图函数,并且 % % 模板标记“做某事”,但到目前为止,我只看到用于这些情况的虚线语法。可能是为了引用管理功能,而不是点语法,我们使用这个冒号? 我真的很感激对它的作用做一些简短的解释,或者参考链接也会很棒。 再次,如果我重新提出一个已经回答的问题,我很抱歉。

【问题讨论】:

【参考方案1】:

它是 URL 命名空间。管理员文档: https://docs.djangoproject.com/en/2.2/ref/contrib/admin/#admin-reverse-urls,通用 URL 命名空间文档:https://docs.djangoproject.com/en/2.2/topics/http/urls/#url-namespaces。

【讨论】:

嘿,我有个问题,这个冒号和点有什么区别呢?在 django 教程中,他们提到我们可以基于模块 include('polls.urls') 包含这样的 url【参考方案2】:

来自 django 文档:

如果您想检索命名空间 URL,请指定完全限定名称:

% url 'myapp:view-name' % 这将遵循正常的命名空间 URL 解析策略,包括使用上下文提供的关于当前应用程序的任何提示。

【讨论】:

以上是关于模板标签和反向函数中的 django admin 冒号语法的主要内容,如果未能解决你的问题,请参考以下文章

04_Django-模板变量/标签/过滤器/继承-url反向解析

04_Django-模板变量/标签/过滤器/继承-url反向解析

Django admin - 如何获取模板标签中的所有注册模型?

Django学习第2篇:Django之反向解析

Django-admin.py startproject --带有模板标签的模板

Django之url反向解析