2012-03-25 57 views
3

我阅读了很多文档,尝试了所有内容,但仍无法理解为什么我的模板为参数'(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})在视图中解析或通过外壳。

我只是不明白我做错了什么。我是Django的新手... H E L P :)

回答

4

把URL名称。

{% url "admin:pdfview" 1 %} 

UPDATE:这仅适用于Django的1.3/1.4,如果:

{% load url from future %} 

使用。

+0

他在询问关于撤销管理网址的问题 - 此回复对此没有帮助。 – shacker 2012-03-25 19:23:03

+0

是的,它应该是管理员:pdfview – bmihelac 2012-03-25 19:46:32

+0

啊 - 你应该编辑你的答案呢! – shacker 2012-03-25 20:12:49

1

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

尝试做以下{%URL管理:pdfview 1%}

有关详细信息,请参阅本:在报价

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

+1

我也试过这个,我收到一个**无法解析其余部分:':pdfview'from'admin:pdfview'**错误,tracback在这里http://dpaste.com/721417/这里有点问题。也许我应该在这里发布我的脚本的其他部分,以确定问题在哪里? – Timus83 2012-03-26 06:56:12

+0

对不起,我的回答出错了,现在就修好了。 {%** url ** admin:pdfview 1%}是正确的做法。 – vkryachko 2012-03-30 04:55:08