簡體   English   中英

進度條的日期百分比

[英]Date as a percentage for the progress bar

下午好。 請幫幫我。 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="")

您可以向 model 添加一個方法,該方法可以返回日期進度:

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 }}"

最后,我建議刪除 model 字段上的prj前綴,因為它很難閱讀 - 大概你的 model 已經被稱為 Project 之類的東西 - 因此閱讀project.start_date比閱讀project.prjstart_date更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM