【发布时间】:2021-02-18 19:11:59
【问题描述】:
我正在尝试在我的网站中创建一个链接,该链接指向用户的个人资料页面,但现在登录后会转到已登录用户的个人资料页面。该链接是作者的姓名,我希望它在单击时转到作者个人资料页面,而不是登录用户的个人资料页面。我认为问题出在链接的 url 模板标记中( post_index.html 中的第一个标记),但我不知道该怎么做。
post_index.html
{% for post in post_list %}
<article class="media content-section">
<img class= "rounded-circle article-img" src="{{ post.author.profile.profile_pic.url }}">
<div class="media-body">
<div class="article-metadata">
#Here! <a class="mr-2" href="{% url 'profile' %}">{{ post.author }}</a>
<small class="text-muted">{{ post.published_date }}</small>
</div>
<h2><a class="article-title" href="{% url 'post_detail' pk=post.pk %}">{{ post.title }}</a></h2>
<p class="article-content">{{ post.text }}</p>
</div>
</article>
{% endfor %}
views.py
@login_required
def profile(request):
if request.method == "POST":
u_form = UserUpdateForm(request.POST, instance=request.user)
p_form = ProfileUpdateForm(request.POST, request.FILES, instance=request.user.profile)
if u_form.is_valid() and p_form.is_valid():
u_form.save()
p_form.save()
messages.success(request, f"Your Account Has Been Updated! ")
return redirect("profile")
else:
u_form = UserUpdateForm(instance=request.user)
p_form = ProfileUpdateForm(instance=request.user.profile)
return render(request, 'users/profile.html', {"u_form": u_form, "p_form": p_form})
models.py
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
profile_pic = models.ImageField(default="default.jpg", upload_to="profile_pics")
def __str__(self):
return f"{self.user.username} Profile"
【问题讨论】:
-
这里的
post_list是什么?在您给定的 sn-p 中,我看不到任何相同的用法。 -
post_list 是我在页面上的分页帖子