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,把内容传递到前端,
    技术改变命运
                    
                
                
            
        
浙公网安备 33010602011771号