我正在创建一个用户可以查看其他用户个人资料的网站,但问题是当用户输入另一个用户个人资料时,它会显示他的个人信息
这是 urls.py 文件代码
urlpatterns = [
path('user/<str:username>', UserPostListView.as_view(), name='user-posts'),
]
这是 view.py 文件代码
class UserPostListView(ListView):
model = Post = Profile
template_name = 'website/user_posts.html'
def get_queryset(self):
user = get_object_or_404(User, username=self.kwargs.get('username'))
return Post.objects.filter(author=user)
def get_username_field(self):
user = get_object_or_404(User, username=self.kwargs.get('username'))
return Profile.objects.filter(user=user)
这是models.py文件
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
age = models.IntegerField(verbose_name='Ålder', default=15,
blank=True)
def get_absolute_url(self):
return reverse('user_posts', kwargs={'pk': self.pk})
def __str__(self):
return f'{self.user.username} Profile'
user_posts.html 文件
{{ user.get_full_name }}
{{ user.profile.age }}
{{ view.kwargs.username }}
在模板中显示用户名,但没有显示姓名和年龄。