django - 如何在 Django 表中显示用户 ID
问题描述
我正在创建一个具有论坛类型格式的站点,用户可以在其中创建帖子——他们在其中发表声明或提出问题等。然后在帖子下,其他用户可以对该帖子创建评论并进行讨论,或其他情况可能是这样。
根据创建帖子的用户的说法,我遇到的问题是在创建显示所有帖子的页面时。
我将向您展示我在下面的代码:带有标签的第二个链接没有将我链接到该特定用户创建的帖子,但始终显示来自用户 #1(管理员用户)的相同内容。你能告诉我我做错了什么不允许这个工作吗?谢谢。
{% for post in posts %}
<tr>
<td>{{ post.postTitle }}</td>
<td>{{ post.postBody }}</td>
<td>{{ post.user }}</td>
<td><a href="{% url 'single_post' post.id %}" class="btn btn-info">View Post</a></td>
<td><a href="{% url 'user_post' user.id %}" class="btn btn-info">User's Posts</a></td>
</tr>
{% endfor %}
解决方案
这就是问题
{% url 'user_post' user.id %}
启用
django.contrib.auth.context_processors.authuser
后,指的是经过身份验证的用户,在您的情况下听起来像是管理员。这就是它转到管理员用户帖子的原因。
你正在寻找post.user
而不是。要修复,请更改您从哪个用户获取 id,如下所示
{% url 'user_post' post.user_id %}
推荐阅读
- jmeter-5.0 - Jmeter随机函数在java应用程序中不起作用
- angular - 用角度 5 填充 html 中的表格
- ios - App Store 安装后延迟分支响应 iOS
- python - django haystack whoosh 没有显示任何错误也没有结果
- ios - 为什么即使在修复标头搜索路径后 React/RCTAssert.h' 文件仍然找不到
- java - 无论是活动还是片段,都创建通用/基本表单类
- php - 单击特定父复选框时,我们可以隐藏和显示子复选框吗
- javascript - 目录上传在 Chrome 浏览器中不起作用
- ruby-on-rails - ec2 实例“找不到 Gemfile 或 .bundle/ 目录”
- c# - SqlDataReader 不返回任何数据,但查询有效