• 4-crm项目-kingadmin,列表页---表头和数据


    展示客户列表页面--------表头

    通过自定义的admin_class类,循环出list_display所有的列
    {#kingadmin/templates/kingadmin/table_obj_list.html#}
    
    {% extends 'kingadmin/index.html' %}
    
    {% block right-content-container %}
    <h2 class="page-header">app</h2>
    
    <div>
            {{ querysets }}
            <table class="table table-striped">
                <thead>
                    <tr>
                        {% for column in admin_class.list_display %}
                            <th>{{ column }}</th>
                        {% endfor %}
    
                    </tr>
                </thead>
                <tbody>
    
                </tbody>
            </table>
    </div>
    
    {% endblock %}

    展示客户列表页面--------数据

    第一步:tag

    # kingadmin/templatetags/kingadmin_tags.py
    
    from django.template import Library
    from django.utils.safestring import mark_safe
    
    register = Library()
    
    @register.simple_tag
    def build_table_row(obj,admin_class):
        '''生成一条记录的html element'''
    
        ele = ''
        for column_name in admin_class.list_display:
            #通过反射获取列的数据,两个参数,一个是object,一个是列名
            column_data = getattr(obj,column_name)
            td_ele = "<td>%s</td>"%column_data
            ele += td_ele
    
        return mark_safe(ele)

    第二步:html

    {#kingadmin/templates/kingadmin/table_obj_list.html#}
    
    {% extends 'kingadmin/index.html' %}
    {% load kingadmin_tags %}
    
    {% block right-content-container %}
    <h2 class="page-header">app</h2>
    
    <div>
            {{ querysets }}  ---->这是返回的数据集,有几条记录就有几个,
            <table class="table table-striped">
                <thead>
                    <tr>
                        {% for column in admin_class.list_display %}
                            <th>{{ column }}</th>
                        {% endfor %}
    
                    </tr>
                </thead>
                <tbody>
                    {% for obj in querysets %}   ----->obj就是一个数据,
                        <tr>{% build_table_row obj admin_class %}</tr>
                    {% endfor %}
                    
                </tbody>
            </table>
    </div>
    
    {% endblock %}

     第三步:views

    要通过views,把内容传递到前端,

  • 相关阅读:
    golang中的值传递和引用传递
    链表

    hashtable(哈希表)
    TAO: Facebook’s Distributed Data Store for the Social Graph. 论文阅读笔记(上)
    Skip Lists: A Probabilistic Alternative to Balanced Trees 跳表论文阅读笔记
    【译】如何实现一个现代化电子商城搜索?(一)
    Elasticsearch搜索资料汇总
    Python 按比例获取样本数据或执行任务
    Python 按分类样本数占比生成并随机获取样本数据
  • 原文地址:https://www.cnblogs.com/andy0816/p/13471436.html
Copyright © 2020-2023  润新知