如何添加链接到django-autocomplete-light选中的项目?

问题描述 投票:4回答:2

我是新来的,我的django-admin v1.4成功安装了django-autocomplete-light。我成功安装了django-autocomplete-light到我的django-admin v1.4。

有没有办法在选择自动完成-light小部件后添加一个超链接,这个小部件在models中是一个外键字段?我只能看到一个x图标来取消所选项目。

创建链接的目的是打开一个弹出窗口来编辑选中的记录。

先谢谢你的建议

hyperlink django-admin edit django-autocomplete-light
2个回答
4
投票

你必须在你的url中添加这个'?_popup=1" target="_blank" onclick="return showAddAnotherPopup(this);'。

这里是一个完整的解决方案。

`class EditModelBase(autocomplete_light.AutocompleteModelBase)。

choice_html_format = u'''
    <span class="div" data-value="%s">%s</span>
    <a href="%s" title="%s"><img src="%s%s" /></a>
'''

def choice_html(self, choice):
    """
    Return a choice formated according to self.choice_html_format.
    """
    choice_format = u'''<span class="div" data-value="%s">%s</span>'''
    if not choice.get_absolute_update_url():
        return choice_format
    return self.choice_html_format % (
        self.choice_value(choice), self.choice_label(choice),
        choice.get_absolute_update_url(), _(u'Update'),
        settings.STATIC_URL, 'admin/img/icon_changelink.gif')`

而且。

def get_absolute_update_url(self):
    url = reverse('admin:ccad_carrier_change', args=(self.id,))
    url = '%s?_popup=1" target="_blank" onclick="return showAddAnotherPopup(this);' % url
    return url

我希望它能工作。

© www.soinside.com 2019 - 2024. All rights reserved.