zoukankan      html  css  js  c++  java
  • 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,把内容传递到前端,

  • 相关阅读:
    bs4抓取糗事百科
    数据结构(复习排序算法)——选泡插(选择,冒泡,插入,希尔)
    Hive-ha (十三)
    Hive优化(十一)
    Hive压缩和存储(十二)
    Hive权限管理(十)
    Hive的视图和索引(九)
    Hive动态分区和分桶(八)
    Hive(七)Hive参数操作和运行方式
    Redis 基础
  • 原文地址:https://www.cnblogs.com/andy0816/p/13471436.html
Copyright © 2011-2022 走看看