Python 一个用户在django中查看另一个用户配置文件

Python 一个用户在django中查看另一个用户配置文件,python,html,django,model,Python,Html,Django,Model,我想实现另一个用户a单击另一个用户B的图片并自动重定向到用户B的配置文件的功能。我如何做到这一点?请看我的HTML,我在那里说了一些关于链接的东西 view.py class profile(models.Model): user = models.OneToOneField(User, on_delete = models.CASCADE) bio = models.TextField(blank=True) def __str__(self): return f'{self.us

我想实现另一个用户a单击另一个用户B的图片并自动重定向到用户B的配置文件的功能。我如何做到这一点?请看我的HTML,我在那里说了一些关于链接的东西

view.py

class profile(models.Model):
user = models.OneToOneField(User, on_delete = models.CASCADE)
bio = models.TextField(blank=True)


def __str__(self):
    return f'{self.user.username} profile'
html:


好的,这里有一个经过编辑的答案。我看了一下你的代码,这里没有post模型,所以我只是想把一些片段放在一起试试。最终,我们的目标应该是让href如下所示:

href=“{post.author.get_absolute_url}”

这里请注意,它不是{{post.author.profile.get_absolute_url}。在url中省略概要文件似乎有违直觉,但请记住,传递的用户名参数是用户模型的一部分,而不是概要文件模型

(注意:url肯定取决于您文章的模型。如果作者是用户模型的外键,请使用我在此处键入的内容。如果是与配置文件模型相关的外键,您将用author.user替换作者)

如果这不起作用,请确保URL.py设置正确

url.py

...
path(‘URL_YOU_WANT/<username>/, views.VIEW_NAME, name=“NAME”),
...
class profile(models.Model):
     user = models.OneToOneField(User, on_delete = models.CASCADE)
     bio = models.TextField(blank = True)

     def __str__(self):
           return f’{self.user.username} profile’
def user_profile(request, username):
     user = User.objects.get(username = username)
     user_profile = profile.objects.get(user = user)
     gigs = Gig.objects.filter(user = user, status = True)
     return render(request, ‘blog/profile.html’, {‘user_profile’: user_profile, ‘gigs’: gigs, ‘name’: username})
视图.py

...
path(‘URL_YOU_WANT/<username>/, views.VIEW_NAME, name=“NAME”),
...
class profile(models.Model):
     user = models.OneToOneField(User, on_delete = models.CASCADE)
     bio = models.TextField(blank = True)

     def __str__(self):
           return f’{self.user.username} profile’
def user_profile(request, username):
     user = User.objects.get(username = username)
     user_profile = profile.objects.get(user = user)
     gigs = Gig.objects.filter(user = user, status = True)
     return render(request, ‘blog/profile.html’, {‘user_profile’: user_profile, ‘gigs’: gigs, ‘name’: username})

让我知道这是否有帮助

你的问题是。。。。?到目前为止,您已经给出了代码并说出了您想要的内容,但您还没有解释代码输出的问题我该怎么做?做什么?就像我编辑我的评论一样——你有一些关于你想要什么的声明和一堆代码。如果你只是问如何实现一些东西,那么代码将是一个无用的干扰,我会投票关闭它,因为需要更多的细节。碰巧的是,你的代码看起来很合理,但我仍然不知道你在做什么我想知道如何让一个用户查看另一个用户的个人资料先生。。我不知道该怎么办。绝对不是。你可以用对你的问题的回答来解释它。我不是个人帮助台是的,我试过了。但是我仍然无法发送到其他用户的个人资料。我想我还是做错了什么