Django - 当我要查看其他用户的个人资料时,我总是会得到我的个人资料
Django - i always get my profile when i what to view another users profile
每当我试图查看其他人的个人资料时,它总是 return 我自己的个人资料,我真的不知道出了什么问题,我试过打电话 request.user
但它似乎不起作用
views.py
def UserProfile(request, username):
user = get_object_or_404(User, username=username)
profile = Profile.objects.get(user=user)
url_name = resolve(request.path).url_name
context = {
'profile':profile,
'url_name':url_name,
}
return render(request, 'userauths/profile.html', context)
urls.py 主项目
from userauths.views import UserProfile
urlpatterns = [
path('admin/', admin.site.urls),
path('users/', include('userauths.urls')),
path('<username>/', UserProfile, name='profile'),
]
index.html
{% for creator in creators %}
<a href="{% url 'profile' creator.user %}"><img class="avatar-img rounded-circle" src="{{creator.user.profile.image.url}}" alt="creators image" ></a></div>
<h5 class="card-title"><a href="{% url 'profile' creator.user %}">
{{creator.user.profile.first_name}} {{creator.user.profile.last_name}} {% if creator.verified %} <i class="bi bi-patch-check-fill text-info smsall" ></i> {% else %}{% endif %} </a></h5>
<p class="mb-2">{{creator.user.profile.bio}}</p></div>
{% endfor %}
而不是这个:
<a href="{% url 'profile' creator.user %}">
你应该试试:
<a href="{% url 'profile' creator.user.username %}">
根据推测的工作语句 get_object_or_404(User, username=username)
,我假设 username
是 User
的一个字段(希望是唯一的)。所以你应该把它传递给 URL,而不是整个 User
模型。
我现在刚刚修复它,在我的 profile.html 中,我正在使用 {{request.user.profile.first_name}}
来显示信息。我应该使用 {{profile.first_name}}
等,就是这样。
每当我试图查看其他人的个人资料时,它总是 return 我自己的个人资料,我真的不知道出了什么问题,我试过打电话 request.user
但它似乎不起作用
views.py
def UserProfile(request, username):
user = get_object_or_404(User, username=username)
profile = Profile.objects.get(user=user)
url_name = resolve(request.path).url_name
context = {
'profile':profile,
'url_name':url_name,
}
return render(request, 'userauths/profile.html', context)
urls.py 主项目
from userauths.views import UserProfile
urlpatterns = [
path('admin/', admin.site.urls),
path('users/', include('userauths.urls')),
path('<username>/', UserProfile, name='profile'),
]
index.html
{% for creator in creators %}
<a href="{% url 'profile' creator.user %}"><img class="avatar-img rounded-circle" src="{{creator.user.profile.image.url}}" alt="creators image" ></a></div>
<h5 class="card-title"><a href="{% url 'profile' creator.user %}">
{{creator.user.profile.first_name}} {{creator.user.profile.last_name}} {% if creator.verified %} <i class="bi bi-patch-check-fill text-info smsall" ></i> {% else %}{% endif %} </a></h5>
<p class="mb-2">{{creator.user.profile.bio}}</p></div>
{% endfor %}
而不是这个:
<a href="{% url 'profile' creator.user %}">
你应该试试:
<a href="{% url 'profile' creator.user.username %}">
根据推测的工作语句 get_object_or_404(User, username=username)
,我假设 username
是 User
的一个字段(希望是唯一的)。所以你应该把它传递给 URL,而不是整个 User
模型。
我现在刚刚修复它,在我的 profile.html 中,我正在使用 {{request.user.profile.first_name}}
来显示信息。我应该使用 {{profile.first_name}}
等,就是这样。