day30 CRM业务开发之默认删除编辑功能

将stark组件中通用服务v1.py模块中按钮定制增加默认值
day30 CRM业务开发之默认删除编辑功能

    def get_list_display(self):
        """
        获取页面上应该显示的列,预留的自定义扩展,例如:以后根据用户的不同显示不同的列
        :return:
        """
        value = []
        if self.list_display:
            value.extend(self.list_display)
            value.append(StarkHandler.display_edit)
            value.append(StarkHandler.display_del)
        return value

效果展示
day30 CRM业务开发之默认删除编辑功能

现在有个需求,想把编辑和删除按钮放在同一列中
将stark组件中通用服务v1.py模块中
新增编辑和删除按钮在一起功能函数

    def display_edit_del(self, obj=None, is_header=None):
        if is_header:
            return '操作'
        tpl = '<a href="%s">编辑</a> <a href="%s">删除</a>' % (
            self.reverse_change_url(pk=obj.pk), self.reverse_delete_url(pk=obj.pk))
        return mark_safe(tpl)

day30 CRM业务开发之默认删除编辑功能

新增编辑和删除url函数

   def reverse_change_url(self, *args, **kwargs):
        """
        生成带有原搜索条件的编辑URL
        :param args:
        :param kwargs:
        :return:
        """
        name = "%s:%s" % (self.site.namespace, self.get_change_url_name,)
        base_url = reverse(name, args=args, kwargs=kwargs)
        if not self.request.GET:
            add_url = base_url
        else:
            param = self.request.GET.urlencode()
            new_query_dict = QueryDict(mutable=True)
            new_query_dict['_filter'] = param
            add_url = "%s?%s" % (base_url, new_query_dict.urlencode())
        return add_url

    def reverse_delete_url(self, *args, **kwargs):
        """
        生成带有原搜索条件的删除URL
        :param args:
        :param kwargs:
        :return:
        """
        name = "%s:%s" % (self.site.namespace, self.get_delete_url_name,)
        base_url = reverse(name, args=args, kwargs=kwargs)
        if not self.request.GET:
            add_url = base_url
        else:
            param = self.request.GET.urlencode()
            new_query_dict = QueryDict(mutable=True)
            new_query_dict['_filter'] = param
            add_url = "%s?%s" % (base_url, new_query_dict.urlencode())
        return add_url

day30 CRM业务开发之默认删除编辑功能

修改按钮定制函数get_list_display

    def get_list_display(self):
        """
        获取页面上应该显示的列,预留的自定义扩展,例如:以后根据用户的不同显示不同的列
        :return:
        """
        value = []
        if self.list_display:
            value.extend(self.list_display)
            value.append(StarkHandler.display_edit_del)
        return value

day30 CRM业务开发之默认删除编辑功能
效果展示
day30 CRM业务开发之默认删除编辑功能
day30 CRM业务开发之默认删除编辑功能
day30 CRM业务开发之默认删除编辑功能

上一篇:文件夹上传控件webupload插件


下一篇:BZOJ_2124_等差子序列_线段树+Hash