You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django模型含start_time与end_time,如何在HTML输出时间序列?

实现方案

1. 在Django视图中生成15分钟间隔的时间序列

先把TimeField类型的start_time和end_time转为可计算的datetime对象,再通过循环逐步增加15分钟,生成完整的时间序列。

示例视图代码:

from datetime import datetime, timedelta
from django.shortcuts import render
from .models import Teacher

def teacher_schedule(request, teacher_id):
    teacher = Teacher.objects.get(id=teacher_id)
    # 以当日日期为基准,将Time类型转为datetime对象
    base_date = datetime.today().date()
    current_time = datetime.combine(base_date, teacher.start_time)
    end_time = datetime.combine(base_date, teacher.end_time)
    
    time_sequence = []
    # 循环生成间隔15分钟的时间,包含结束时间
    while current_time <= end_time:
        time_sequence.append(current_time.time())  # 仅保留时间部分
        current_time += timedelta(minutes=15)
    
    return render(request, 'teacher_schedule.html', {
        'teacher': teacher,
        'time_sequence': time_sequence
    })

2. 在HTML模板中渲染内容

在模板里遍历生成的时间序列,按要求格式输出:

示例模板代码(teacher_schedule.html):

<p>{{ teacher.name }}</p>
{% for time in time_sequence %}
    <p>{{ time|time:"H:i" }}</p>
{% endfor %}

渲染后会得到如下效果:

Sally
17:00
17:15
17:30
17:45
18:00

内容的提问来源于stack exchange,提问作者union77

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 04:31:05