将stark组件中通用服务v1.py模块中按钮定制增加默认值
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
效果展示
现在有个需求,想把编辑和删除按钮放在同一列中
将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)
新增编辑和删除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
修改按钮定制函数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
效果展示