我正在创建一个Web应用程序,并且希望它通过用户的帖子显示其他用户的个人资料。我的意思是,当一个用户单击另一个用户的个人资料以查看另一个用户的信息时,它将显示另一个用户的个人资料。我已经尝试了所有方法,但是单击该帖子后它会显示当前用户信息的名称。
请帮助我。非常感谢你。我会很感激您的帮助。
这是我的代码:
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)
post_profile.html-(这是该模板的模板,它将显示另一个用户的个人资料。)
{% extends "mains/base.html" %}
{% block content %}
{% for topic in poste %}
<a>{{ topic.full_name }}</a><br>
{% empty %}
<li>No informtion.</li>
{% endfor %}
</ul>
{% endblock content %}
请帮助我,我不知道问题出在哪里
您可以尝试以下方法:
创建一个配置文件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)
现在在模板中显示用户个人资料。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句