管理员URL解析程序,用于传递过滤参数

时间:2015-10-01 13:48:34

标签: django url django-admin

我想在管理表单中添加一个链接,以显示所点击对象的子项。

在我的模特中,我有:

reportJob

这里的一切正常,我得到管理页面的链接,以更改我的" wifirouters"。

但我需要通过构建来过滤此页面。

所以我试过了:

    def change_form_link(self):
            changeform_url = urlresolvers.reverse('admin:customerData_wifirouter_changelist'
            return '<a href="%s" >Change</a>' % changeform_url
    change_form_link.allow_tags = True

我得到一个错误的错误:

    def change_form_link(self):
            changeform_url = urlresolvers.reverse('admin:customerData_wifirouter_changelist', args=[self.building_label,])
            return '<a href="%s" >Change</a>' % changeform_url
    change_form_link.allow_tags = True

另一方面,我的管理员过滤页面在NoReverseMatch at /admin/customerData/customer/1/ Reverse for 'customerData_wifirouter_changelist' with arguments '('4 rue de Douai',)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['admin/customerData/wifirouter/$'] 处理正常。

我了解到我使用bas语法链接到已过滤的管理页面。

么?

1 个答案:

答案 0 :(得分:1)

查询字符串<iframe allowfullscreen allowtransparency="true" class="vzaar-video-player" frameborder="0" height="254" id="iFrameVzaar" mozallowfullscreen name="iFrameVzaar" src="//view.vzaar.com/5263881/player?apiOn=true" title="vzaar video player" type="text/html" webkitallowfullscreen width="448"></iframe> <script> var _theframe = document.getElementById("iFrameVzaar"); _theframe.contentWindow.location.href = _theframe.src; </script> 不是被反转的网址的一部分。你可以反转网址,然后添加查询字符串。

?building__building_label=4+rue+de+Douai

使用urlencode可确保字符串经过网址编码(例如,空格会转换为from urllib.parse import urlencode # In Python 2 from urllib import urlencode changeform_url = urlresolvers.reverse('admin:customerData_wifirouter_changelist') querydict = {'building__building_label': self.building_label} changeform_url = '%s?%s' % (changeform_url, urlencode(querydict)) 个符号)。