gpt4 book ai didi

django - NoReverseMatch at/,u'opts|admin_urlname' 不是注册的命名空间 Django 1.4.1

转载 作者:行者123 更新时间:2023-12-02 06:31:21 24 4
gpt4 key购买 nike

这里是 Django 新手。继documentation ,我正在尝试以下操作来从我正在构建的公共(public)网站的主页获取到管理网站的链接:

{% load admin_urls %}
<p>Go to the <a href="{% url opts|admin_urlname:'add' %}">admin</a>.</p>

我收到错误:

NoReverseMatch at /
u'opts|admin_urlname' is not a registered namespace

我正确地包含了 URL:

    url(r'^admin/', include(admin.site.urls)),

我的template loaders are in the right order .

我对此尝试了几种不同的变体,它们都会抛出命名空间错误。

有什么想法吗?谢谢!

最佳答案

在一个屏幕上使用 Daniel Roseman/Django 文档,在另一个屏幕上使用我的代码 30 分钟后,我想出了这个简单的解决方案:

views.py 中,添加带有模型 _meta 的 opts 上下文(包括所需的 app_labelmodel_name):

class YourModelDetailView(DetailView):
def get_context_data(self, **kwargs):
context = super(YourModelDetailView, self).get_context_data(**kwargs)
context["opts"] = YourModel._meta
return context

在您的模板中:

{% url opts|admin_urlname:'change' object.pk %}

其中更改可以是 reverse admin urls 中的任何操作文档页面。

关于django - NoReverseMatch at/,u'opts|admin_urlname' 不是注册的命名空间 Django 1.4.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12884343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com