Python 显示包含全部帖子的用户列表

Python 显示包含全部帖子的用户列表,python,django,Python,Django,如何在一个单独的HTML页面中显示用户列表以及他们发表的文章总数 models.py class Post(models.Model): author = models.ForeignKey(User.request, on_delete = models.CASCADE) title = models.CharField(max_length=100) text = models.TextField() slug

如何在一个单独的HTML页面中显示用户列表以及他们发表的文章总数

models.py

class Post(models.Model):
    author       =  models.ForeignKey(User.request, on_delete = models.CASCADE)
    title        =  models.CharField(max_length=100)
    text         =  models.TextField()
    slug         =  models.SlugField(unique=True, blank=True, default=uuid.uuid1)
    created_date =  models.DateTimeField(default=timezone.now)
    likes        =  models.ManyToManyField(User, related_name='post_likes', blank = True)

    def get_like_url(self):
       return reverse("posts:like-toggle", kwargs={"slug": self.slug})

    def get_api_like_url(self):
       return reverse("posts:like-api-toggle", kwargs={"slug": self.slug})

    def get_absolute_url(self):
       return reverse("post_detail",kwargs={'pk':self.pk})

    def __str__(self):
       return self.title

    def count_posts_of(user):
       return Post.objects.filter(author=user).count()

您必须学习MVC架构(django中的MVT)

作为初学者,首先创建一个示例项目来理解这一点-

了解如何编写
models.py
-
以及如何编写
views.py
-

然后将它们连接到
url.py
-

你必须学习MVC架构(django中的MVT)

作为初学者,首先创建一个示例项目来理解这一点-

了解如何编写
models.py
-
以及如何编写
views.py
-

然后将它们连接到
url.py
-

这是我目前的解决方案,但可以采用不同的方式

首先,将count\u posts\u方法添加到用户模型中,不管它是什么。 例如,我自己创建了一个用户模型,并将此方法添加到其中,如下所示:

models.py

class User(models.Model):
name = models.CharField(max_length=100, blank=True, null=True)

@property
def count_posts_of(self):
    return self.post_set.all().count()
现在在视图中,将所有用户作为上下文传递:

views.py

def user_post(request):
context = {'users': User.objects.all()}
return render(request, 'future/user_post_view.html', context)
最后,在模板中显示用户及其帖子数量:

user_post_view.html

{% for user in users %}
{{ user.name }} :
{{ user.count_posts_of }},
{% endfor %}

这是我目前的解决方案,但可以采取不同的做法

首先,将count\u posts\u方法添加到用户模型中,不管它是什么。 例如,我自己创建了一个用户模型,并将此方法添加到其中,如下所示:

models.py

class User(models.Model):
name = models.CharField(max_length=100, blank=True, null=True)

@property
def count_posts_of(self):
    return self.post_set.all().count()
现在在视图中,将所有用户作为上下文传递:

views.py

def user_post(request):
context = {'users': User.objects.all()}
return render(request, 'future/user_post_view.html', context)
最后,在模板中显示用户及其帖子数量:

user_post_view.html

{% for user in users %}
{{ user.name }} :
{{ user.count_posts_of }},
{% endfor %}

你能提供更多的细节吗?你尝试过的,你正在尝试做的。我是django的新手。我试图显示一个用户列表,其中包含他们发表的帖子的总数,并为此编写了一个名为count_posts_of的函数,但不确定其是否正确。我该如何在单独的html页面上显示它?您能提供更多详细信息吗?你尝试过的,你正在尝试做的。我是django的新手。我试图显示一个用户列表,其中包含他们发表的帖子的总数,并为此编写了一个名为count_posts_of的函数,但不确定其是否正确。我应该如何在单独的html页面上显示它?