Python 显示包含全部帖子的用户列表
如何在一个单独的HTML页面中显示用户列表以及他们发表的文章总数 models.pyPython 显示包含全部帖子的用户列表,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
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页面上显示它?