yaowen_2008 2019-09-09 13:09 采纳率: 0%
浏览 1486

django get()数据 提示'UserInfo' object is not iterable

1、列表 表格修改数据的时候提示'UserInfo' object is not iterable
图片说明图片说明

2,相关代码

html代码

<table class="table table-border table-bordered table-bg">
        <thead>
            <tr>
                <th scope="col" colspan="9">管理员列表</th>
            </tr>
            <tr class="text-c">
                <th width="25"><input type="checkbox" name="" value=""></th>
                    <th width="80">ID</th>
                    <th width="80">头像</th>
                    <th width="80">名称</th>
                    <th width="80">别名</th>
                    <th width="80">email</th>
                    <th width="80">生日</th>
                    <th width="80">性别</th>
                    <th width="80">手机</th>
                    <th width="80">地址</th>
                    <th width="80">入职日期</th>
                    <th width="80">所属部门</th>
                    <th width="80">备注</th>
                    <th width="80">是否有效</th>
                    <th width="80">操作</th>
            </tr>
        </thead>
        <tbody>
            {% for adminlist in adminlist %}
            <tr class="text-c">
                <td><input type="checkbox" value="{{ adminlist.id }}" name="adminuser"></td>
                <td>{{ adminlist.id }}</td>
                <td>{{ adminlist.avatar }}</td>
                <td>{{ adminlist.username }}</td>
                <td>{{ adminlist.nick_name }}</td>
                <td>{{ adminlist.email }}</td>
                <td>{{ adminlist.birthday }}</td>
                <td>{{ adminlist.gender }}</td>
                <td>{{ adminlist.mobile }}</td>
                <td>{{ adminlist.address }}</td>
                <td>{{ adminlist.entrytime }}</td>
                <td>{{ adminlist.department }}</td>
                <td>{{ adminlist.mark }}</td>
                {% if adminlist.is_staff == 1 %}
                <td class="td-status"><span class="label label-success radius">已启用</span></td>
                {% else %}
                <td class="td-status"><span class="label label-fail radius">已停用</span></td>
                {% endif %}
                <td class="td-manage"><a style="text-decoration:none" onClick="admin_stop(this,'10001')" href="javascript:;" title="停用"><i class="Hui-iconfont">&#xe631;</i></a> <a title="编辑" href="javascript:;" onclick="admin_edit('管理员编辑','{% url 'user:adminedit' adminlist.id %}','1','800','500')" class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe6df;</i></a> <a title="删除" href="javascript:;" onclick="admin_del(this,'1')" class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe6e2;</i></a></td>
            </tr>
            {% endfor %}
        </tbody>
    </table>

view.py

class AdminEditView(LoginRequiredMixin,View):
    login_url = '/login/'
    redirect_field_name = 'next'

    def get(self,request,admin_id):

        admin_edit= UserInfo.objects.get(id=admin_id)
        return render(request,'admin-edit.html',{'admin_edit':admin_edit})

    def post(self,request,admin_id):
        username = request.POST["username"];
        gender = request.POST["gender"];
        nick_name = request.POST["nick_name"];
        address = request.POST["address"];
        mobile = request.POST["mobile"];
        email = request.POST["email"];

        edit = UserInfo.objects.get(id=admin_id)
        edit.username=username
        edit.gender=gender
        edit.address=address
        edit.mobile=mobile
        edit.email=email
        edit.nick_name=nick_name

        edit.save()

        return render(request,'admin-list.html')

url.py

urlpatterns = [
    path('adminadd/', AdminAddView.as_view(), name="adminadd"),
    path('adminedit/<int:admin_id>/', AdminEditView.as_view(), name="adminedit"),
]

请大家帮我看下,是哪写的有问题,谢谢

  • 写回答

2条回答 默认 最新

  • dsczijizuo 2019-09-18 12:05
    关注

    看错误, 可以确定是单个object 是不能遍历的, 因为你get() 得到的是一个UserInfo 对象, 而不是 UserInfo 的list, 所以不能遍历, 所以你要确定在哪里遍历了, 然后改掉.
    还有你的html 渲染的时候, {% for adminlist in adminlist %}
    这种写法不对, 定义的变量和要遍历的对象要不同名.
    改成 {% for a in adminlist %} , 然后下面的 adminlist 都要改成 a

    评论

报告相同问题?

悬赏问题

  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛