美文网首页Python
表单字段排序的实现

表单字段排序的实现

作者: 摘花是个好习惯 | 来源:发表于2018-12-21 23:29 被阅读0次

在table的<th>加上<a>标签实现根据字段的排序,给<a>标签url一个参数 o ,在视图中调用排序方法根据参数o得到字段,再使用 order_by(field) 得到新的 model_list 返回给前端

  • 注意
    想实现字段的倒序,只要在 o 参数前加上 - ,根据判断可以实现正序倒序的来回切换
@register.simple_tag
def table_header_column_sort(column, orderby_key,filter_condtions):
    ele = ''
    o = ''  # 保存orderby_key 最终的值
    item = ''   # 保证在检索后还能进行排序,不加item检索条件就莫得了

    for k,v in filter_condtions.items():
        if v:
            item += '&%s=%s'%(k,v)

    if orderby_key:
        if '-' in orderby_key:
            o = orderby_key.strip('-')      # strip只能删除字符串的头尾字符,默认删除空格与换行
        else:
            o = '-%s'%orderby_key


    if orderby_key and orderby_key.strip('-') == column:
        ele +='<th><a href="?o=%s%s">%s</a></th>'%(o, item, column)
    else:
        ele += '<th><a href="?o=%s%s">%s</a></th>'%(column, item, column)
    return mark_safe(ele)

相关文章

网友评论

    本文标题:表单字段排序的实现

    本文链接:https://www.haomeiwen.com/subject/bjjbkqtx.html