Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我需要计算目标和显示的百分比_Python_Django - Fatal编程技术网

Python 我需要计算目标和显示的百分比

Python 我需要计算目标和显示的百分比,python,django,Python,Django,我在Django上做应用程序,只是学习,确切地说,我有一个问题,我要做的事情列表,它有一个目标,每个目标都有实现这个目标的步骤,可以有无限的数量。好的,我需要计算目标和显示的百分比,即计算kollichesvo执行(已经实现)的数量,然后除以阶段总数。问题出在这里 型号: class Post(models.Model): author = models.ForeignKey(User) title = models.CharField(max_length=200) t

我在Django上做应用程序,只是学习,确切地说,我有一个问题,我要做的事情列表,它有一个目标,每个目标都有实现这个目标的步骤,可以有无限的数量。好的,我需要计算目标和显示的百分比,即计算kollichesvo执行(已经实现)的数量,然后除以阶段总数。问题出在这里

型号:

class Post(models.Model):
    author = models.ForeignKey(User)
    title = models.CharField(max_length=200)
    text = models.TextField()
    created_date = models.DateTimeField(
            default=timezone.now)
    published_date = models.DateTimeField(
            blank=True, null=True)

    def publish(self):
        self.published_date = timezone.now()
        self.save()

    def __str__(self):
        return self.title
class Stage(models.Model):
    keys = models.ForeignKey(Post)
    title = models.CharField(max_length=200)
    text = models.TextField()
    created_date = models.DateTimeField(
            default=timezone.now)
    published_date = models.DateTimeField()
    end = models.BooleanField(default=False)
    procent = models.IntegerField(default=0)

    def publish(self):
        self.published_date = timezone.now()
        self.save()

    def __str__(self):
        return self.title
视图

def post_detail(request, pk):

    post = get_object_or_404(Post, pk=pk)
    posts = Stage.objects.filter(keys__exact=pk,)        
    return render(request, 'blog/post_detail.html', {'post': post, 'posts': posts})
此示例

x = len(posts)
for m in posts:
    if end == True:
        ar = ar + 1

stages = (ar / x * 100)

向类中添加方法:

class Post(models.Model):
    # ...
    def percentage_complete(self):
        total = self.stage_set.count()
        completed = self.stage_set.filter(end=True).count()
        return (float(completed) / total) * 100
在模板中,假设您有一个
post
上下文变量:

% done: {{ post.percentage_complete }}

什么是目标和显示?你到底想达到什么目的?