NoReverseMatch at/,u';选择| admin_urlname';不是已注册的命名空间Django 1.4.1
这里是Django新手。下面,我正在尝试从我正在构建的公共站点的主页获取到管理站点的链接:NoReverseMatch at/,u';选择| admin_urlname';不是已注册的命名空间Django 1.4.1,django,django-admin,django-urls,Django,Django Admin,Django Urls,这里是Django新手。下面,我正在尝试从我正在构建的公共站点的主页获取到管理站点的链接: {% load admin_urls %} <p>Go to the <a href="{% url opts|admin_urlname:'add' %}">admin</a>.</p> 我正确地包括URL: url(r'^admin/', include(admin.site.urls)), 我的 我尝试了一些不同的变体,它们都会抛出名称空间
{% load admin_urls %}
<p>Go to the <a href="{% url opts|admin_urlname:'add' %}">admin</a>.</p>
我正确地包括URL:
url(r'^admin/', include(admin.site.urls)),
我的
我尝试了一些不同的变体,它们都会抛出名称空间错误
有什么想法吗?谢谢 您几乎可以肯定使用的是发布的1.4版本,而不是开发版本。如图所示,在使用该语法之前,您需要使用
{%loadurl from future%}
。在一个屏幕显示Daniel Roseman/Django文档,另一个屏幕显示我的代码的30分钟后,我想出了一个简单的解决方案:
在您的views.py
中,添加带有模型元(包括所需的app\u标签和model\u名称)的opts上下文:
在模板中:
{% url opts|admin_urlname:'change' object.pk %}
其中,更改可以是文档页面中的任何操作。虽然上述答案对我调用的代码很有帮助,但有一种更简单的方法。我用这个来代替:
{% url 'admin:index' %}
这也适用于自定义管理员视图,如:
{% url 'admin:myapp_mymodel_<keyword>' object.id %}
{%url'管理员:myapp\u mymodel\u'object.id%}
其中关键字
来自(即添加
,更改
,删除
)。感谢您的回复!首先,friggin Django文档是怎么回事?同一页面有多个版本?!顺便说一句,我的链接和你的链接只有一行,即使在1.4链接中也没有关于这一变化的指示。但回到正题,现在我得到的是AttributeError at/,“str”对象没有属性“app\u label”
??我无法理解您的反对意见。显然,随着多年来Django在后续版本中的更改,需要有新版本的文档-我不知道你为什么会觉得奇怪。你的评论促使我仔细查看页面,第一次看到右下角的nav更改了文档版本。好吧,很高兴终于注意到这一点,尽管这是非常微妙的。不管怎样,关于属性错误?;-)的想法您作为选项传递的是什么?看起来你在传递一个字符串,而文档说它应该是一个具有app\u label
和module\u name
属性的对象。@DanielRoseman请看这个问题[如果你有任何想法,请在那里发布你的答案,谢谢这对我来说很好,但需要引用(可能是因为这个答案发布后Django的更改):{%url'管理员:myproject\u myapp\u user\u change'user.id%}
{% url 'admin:index' %}
{% url 'admin:myapp_mymodel_<keyword>' object.id %}