【问题标题】:Other user's profile is not showing, It is showing only current user name . How to display other user's profile?其他用户的个人资料没有显示,它只显示当前用户名。如何显示其他用户的个人资料?
【发布时间】:2021-03-09 00:22:44
【问题描述】:

我正在创建一个网络应用程序,我希望它通过用户的帖子显示其他用户的个人资料。 我的意思是当用户单击其他用户的个人资料以查看其他用户的信息时,它将显示其他用户的个人资料。我已经尝试了所有方法,但点击帖子后显示的是当前用户信息的名称。

请帮助我。非常感谢您。我真的很感激你的帮助。

这是我的代码:-

views.py

def post_profile(request,username):
    poste = Profile.objects.get(user=request.user)
    context = {'poste':poste}
    return render(request, 'mains/post_profile.html', context)

models.py

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE,default='',unique=True)
    full_name = models.CharField(max_length=100,default='')
    date_added = models.DateTimeField(auto_now_add=True)

请帮帮我,我不知道问题出在哪里

【问题讨论】:

  • 在您的def post_profile 中,您使用的是user = request.user。由于当前用户请求查看其他人的个人资料,因此将显示当前用户的个人资料。
  • 但是我应该用什么来代替它?

标签: python html django django-models django-views


【解决方案1】:

你可以试试这个:

创建一个配置文件 url 并传递 user_id 参数。

urls.py

from django.urls import path

urlpatterns =[
    ....
    path('profile/<int:user_id>', views.show_profile, name='show_profile'),
]

现在创建一个视图并将user_id 参数和request 参数传递给它。

def show_profile(request, user_id):
    poste = Profile.objects.get(user=user_id)
    context = {'poste': poste}
    return render(request, 'mains/post_profile.html', context)

现在在模板中显示用户个人资料。

【讨论】:

  • 尊敬的先生,它显示错误 - 'show_profile' 反向,没有找不到参数。尝试了 1 种模式:['profile/(?P[0-9]+)$'] 先生,您能告诉您的电子邮件吗,所以我可以在那里与您交谈,我将在那里显示所有代码
  • 好的,我是lingayatajay2810@gmail.com
猜你喜欢
  • 2019-11-29
  • 1970-01-01
  • 1970-01-01
  • 2021-06-26
  • 2019-06-30
  • 1970-01-01
  • 2021-09-04
  • 2020-12-14
  • 1970-01-01
相关资源
最近更新 更多