无法在管理员更改中反向匹配网址

时间:2012-03-25 17:56:33

标签: django django-admin django-templates django-views

我阅读了很多文档,尝试了所有内容,仍然无法理解为什么我的模板返回反向''带参数'(1,)'和关键字参数'{}'找不到错误。请在此处查看错误转储:http://dpaste.com/721187/

我在change_form.html模板中使用的代码是{%url pdfview 1%}

FVatAdmin类(admin.ModelAdmin)有get_urls方法,如下所示:

def get_urls(self):
    urls = super(FVatAdmin, self).get_urls()
    my_urls = patterns('',
       url(r'^view/(?P<id>\d+)', self.admin_site.admin_view(self.pdf_view), name="pdfview"),
       url(r'^js/calculate', self.admin_site.admin_view(self.calculate), name="calc"),
        )
    return my_urls + urls

上面定义的url和pdfview运行得很好,但有些不能通过模板中的{%url pdfview 1%}和视图中的反向('pdfview',args = {1})或通过shell解析

我无法理解我做错了什么。我是Django的新手... H E L P:)

2 个答案:

答案 0 :(得分:5)

将网址名称放在引号中。

{% url "admin:pdfview" 1 %}

更新:这仅适用于Django 1.3 / 1.4,如果:

 {% load url from future %}

被使用。

答案 1 :(得分:1)

Django admin url是命名空间,以免与其他网址冲突。

尝试执行以下操作{%url admin:pdfview 1%}

详情请见:

https://docs.djangoproject.com/en/1.4/topics/http/urls/#topics-http-reversing-url-namespaces