Django获取全部用户列表时重复显示当前用户信息问题
Django模板渲染用户列表重复显示当前用户问题解决
问题出在模板的循环变量命名冲突:
- 模板中写了
{% for users in users %},循环变量名与上下文传入的用户列表变量名完全一致,导致迭代逻辑混乱 - 循环内部使用
{{user.username}},但user并未在循环中定义,Django模板会自动调用request.user(当前登录用户),所以循环多少次就会重复显示多少次当前登录用户的信息
修正后的模板代码
{% for user in users %} <tr> <td>{{user.username}}</td> <td>{{user.email}}</td> </tr> {% endfor %}
仅需将循环变量从users改为user,让循环内部的user指向每次迭代的单个用户对象即可,视图代码无需修改。
内容的提问来源于stack exchange,提问作者ckcAdmin
相关产品推荐
相关产品推荐

