进度条的日期百分比

2024-04-20 11:37:17 发布

您现在位置:Python中文网/ 问答频道 /正文

下午好。请帮帮我。 有一个关于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="")

Tags: 项目进度条namediv模板trueverbosemodels
1条回答
网友
1楼 · 发布于 2024-04-20 11:37:17

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

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.start_dateproject.prjstart_date更容易读取

相关问题 更多 >