我不确定如何提出这个问题,如果它没有多大意义,请提前道歉。
我正在使用pythonanywhere创建一个基本的博客类型网站,并希望每个用户都有一个个人资料页面。在显示所有帖子列表的页面中,我在
中显示每个帖子的作者{% for post in posts %}:
<p>author: {{ post.author }}</p>
假设我的所有网址,视图和模板都很好,如何添加指向该文字的链接,这会导致/accounts/[user's id]
?
Post模型的作者字段定义为
author = models.ForeignKey('auth.User')
基本上我想要:
<p>author: <a href="{% url 'account_detail' pk=User.pk %}">{{ post.author }}</a></p>
但我不知道如何从post.author获得User.pk。
答案 0 :(得分:0)
假设你有这个模型:
author = models.ForeignKey(&#39;这里有足够的模特)
并且ForeignKey位于名为POST的模型中
用于访问表的id只写:
post.author__pk
顺便说一下,在view.py中执行此操作总是更好:
value = post.objects.values('name', 'author__pk').filter(filter if necessary)
答案 1 :(得分:0)
@Ivan Miljkovic如何解释,这足以取代这行代码:
<p>author: <a href="{% url 'account_detail' pk = post.author.pk %}">{{ post.author }}</a></p>