DAY22 时刻表选取组别功能实现

if event.postback.data[:9] == "Schedule:":
    choose=str(event.postback.data[9:]) #选择 时刻表 要的查看组别名称
    list=[]
    for data in User_Info.objects.filter(team=choose):
        new_body={
                "type": "button",
                "action": {
                "type": "postback",
                "label": data.name,
                "data": "Name="+data.name
                },
                "margin": "sm",
                "color": "#0066ff",
                "style": "primary"
            }
        list.append(dict(new_body))                
    line_bot_api.reply_message(
        event.reply_token,
        Name().content(list)
    )
if event.postback.data[:5] == "Name=":#选择时刻表_姓名後列出项目
    data=User_Info.objects.get(name=event.postback.data[5:])
    if data.update_project == "":
        data.update_project="[本日尚未回报进度]"
    line_bot_api.reply_message(
        event.reply_token,
        TextSendMessage(text="姓名:"+data.name+"\n"+"[最新签到时间]:"+data.date+"\n"+"[近期七天签到时间]:"+data.date_day1+"\n")
    )

选择要查看的组别後,便会以回圈的方式来找到符合选取的组别for data in User_Info.objects.filter(team=choose): ,而new_body相当是一个使用者一个按钮,
因为不用回圈的话就无法根据有几位使用者来生成刚好数量的按钮,最後用 list.append(dict(new_body))把dict格式存到list里面,将list回传并呼叫样板产生按钮

点击上方生成出来使用者的按钮,if data.update_project == "":判断使用者尚未回报进度,该栏位为空值将会把栏位储存成[本日尚未回报进度],若不是空值将会印出使用者的姓名、最新签到时间、近期七天签到时间。


今天的歌曲是 周杰伦-一路向北 All the Way North
https://www.youtube.com/watch?v=L229QDxDakU&list=PLFl6Na2uUoOZBEhBtQ_jeGA4P1V20JvpW&index=21&ab_channel=%E5%91%A8%E6%9D%B0%E5%80%ABJayChou


<<:  Day 23. Zabbix 通知设定 - Custom alertscripts - Line

>>:  延伸(1)-ML接入团队的原本开发生态 | ML#Day29

Day4:进入新手村前先让我复习一下QQ-CSS3-Flexbox-基本用途

Flexbox是CSS3的盒模型,这个属性是用来做排版使用,也因为它可以灵活弹性排版的特性,也很常使...

RISC-V: 作为第一道指令的聪明选择

第一道指令先从 Immediat 系列开始吧 指令系列会依照时间安排增减速度, 一方面是因为上一篇留...

[13th-铁人赛]Day 5:Modern CSS 超详细新手攻略 - Selector (一)

今天再来深度研究一下CSS的语法!我要介绍的是CSS中的选择器,选择器是最重要的语法之一,决定了要改...

Day13-Async && Await

前言 虽说ES6推出了promise解决了callback hell的问题,但人总是不容易满足。 於...

IPv6

IPv6节点使用本地链接地址(前缀为FE80 :: / 10)引导,并使用多播与DHCP服务器联系。...