python——第9天

学这个我是从后面的项目教学开始学的,这部分是昨天学的今天记录下,之前学的也要慢慢的补齐来了

一、展示qq、name、sourcec、consult  这些字段

前端代码:

后端传过来admin_class类 #CustomerAdmin

<thead>
                <tr>
                    {% for column in admin_class.list_display %}
                    <th>{{column}}</th>
                    {% endfor %}
                </tr>
</thead>

二、展示下面的内容

前端代码:as 用一个变量接收自定义表签里面函数返回的值

通过自定义标签tag.py里面定义个函数get_query_sets,他是返回了model里面的数据,然后在利用build_table_raw

函数去build_table_raw里根据obj去找字段对应的值

<tbody>
    {% get_query_sets admin_class as query_sets %}
    {% for obj in query_sets %}
    <tr>
        {% build_table_raw obj admin_class %}
    </tr>
    {% endfor %}
</tbody>

tags.py文件代码:

@register.simple_tag
def get_query_sets(admin_class):
    """

    :param admin_class: CustomerFollowUpAdmin
    :return: 返回表里的所有数据
    """
    return admin_class.model.objects.all()

@register.simple_tag
def build_table_raw(obj,admin_class):
    """

    :param obj: admin_class.model.objects.all()
    :param admin_class: CustomerAdmin
    :return:对应字段的值
    """
    raw_ele = ""
    for column in admin_class.list_display:
        #获取该类内指定字段的信息
        field_obj = obj._meta.get_field(column)
        if field_obj.choices:
            #获取字段choices里的中文值
            column_data = getattr(obj,"get_%s_display" %column)()
        else:
            column_data = getattr(obj,column)
        raw_ele+="<td>%s</td>" %column_data


    return mark_safe(raw_ele)

 

嗯这个思路目前写得不是很好

 

                                                                一条薛定谔的咸鱼         

 

转载于:https://www.cnblogs.com/venvive/p/11291902.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值