为了账号安全,请及时绑定邮箱和手机立即绑定

进度条的日期百分比

进度条的日期百分比

牛魔王的故事 2022-11-09 16:23:35
Django上有一个项目。该项目有一个来自 bootstrap4 的代码 - 进度条,我需要这个进度条,但我不明白如何实现它的性能,因为它以百分比存储数据,但我没有百分比,而是项目日期,即有一个开始假设项目是 01 02 2000 和项目结束 01 02 2002 之间有 730 天的差异。以下是我如何将这 730 天变成 100%,其余的 - 比如说 140 天,也变成百分比。HTML 模板<div class="progress">  <div class="progress-bar bg-success" role="progressbar" style="width: 10%" aria-valuenow="10" aria-valuemin="0" aria-valuemax="100"></div></div>Python 模板prjauth = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, verbose_name="")    prjtitle = models.CharField(max_length=200, verbose_name="")    prjdesc = models.TextField(verbose_name="")    prjfiles = models.FileField(upload_to='files_project', verbose_name="")    prjdatestart = models.DateTimeField(default=timezone.now, verbose_name="")    prjdateend = models.DateTimeField(blank=True, null=True, verbose_name="")    prjproekts = models.DateTimeField(blank=True, null=True, verbose_name="")    prjproekte = models.DateTimeField(blank=True, null=True, verbose_name="")    prjdatesnabs = models.DateTimeField(blank=True, null=True, verbose_name="")    prjdatesnabe = models.DateTimeField(blank=True, null=True, verbose_name="")    prjdatelines = models.DateTimeField(blank=True, null=True, verbose_name="")    prjdatelinee = models.DateTimeField(blank=True, null=True, verbose_name="")
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

您可以向模型添加一个可以返回日期进度的方法:


Class MyModel(models.Model):

    # fields


    def get_progress(self):

        return timezone.now().date - self.start_date / self.end_date - self.start_date

该方法可以在您的模板中调用:


aria-valuenow="{{ mymodel.get_progress }}"

最后,我建议删除prj模型字段上的前缀,因为它难以阅读 - 大概你的模型已经被称为 Project 之类的东西 - 因此它project.start_date比project.prjstart_date.


查看完整回答
反对 回复 2022-11-09
  • 1 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号