1

我需要在模板帖子和写这篇文章的用户名中显示。模型“post”对用户有外键。

{% for post in post_list %}
    <tr>
        <td>{{ post.user_name }}</td>
        <td>{{ post.user_name }}</td>
        <td>{{ post.post_user.user_name }}</td>
        <td>{{ post.post_content }}</td>                
    </tr>
{% endfor %}



class user(models.Model):
    user_name = models.CharField(max_length=25)

class post(models.Model):
        post_content = models.CharField(max_length=65000)
        post_user = models.ForeignKey(user)

我试过的方法都不起作用

4

3 回答 3

5

{{ post.post_user.user_name }}是正确的。

于 2013-10-24T10:17:14.193 回答
2

<td>{{ post.post_user.user_name }}</td>应该是赢家。

每个选项输出什么?

尝试使用|pprint过滤器查看发生了什么:

{{ post|pprint }}
{{ post.post_user|pprint }}
于 2013-10-24T10:17:30.807 回答
1
{{ post|pprint }}
{{ post.post_user|pprint }}
{{ post.post_user.user_name|pprint }}
{{ post|pprint }}

<post: post object> <user: user object> '1' <post: post object>

这是我的看法

try:
            post_list = post.objects.select_related().filter(post_thread_id = thread_obj.id).order_by('-post_date')
        except:
            post_list = False                
        c = {
            'thread': thread_obj,
            'post_list': post_list,
            'user_login' : user_login,
            'user_name' : user_name, // user name which is login
            }
        c.update(csrf(request))  
        return render_to_response("show_thread.html", c)
于 2013-10-24T10:24:33.557 回答