ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

编辑老师信息的传统实现方式

2020-12-26 06:32:05  阅读:196  来源: 互联网

标签:obj 老师 传统 list nid class 编辑 teacher id


编辑老师信息
在teacher.html中添加修改编辑连接:
<a href="/edit_teacher/?nid={{ row.tid }}">编辑</a>

在views.py中创建响应函数:
def edit_teacher(request):
    if request.method == "GET":#h指的是初次到页面,并没有提交表单POST信息的时候:
        id = request.GET.get("nid")
        bj = sqlhelper.SqlHelper()
        eacer_info = obj.get_one("select id,name from teacher where id = %s",[nid,])
        lass_id_list = obj.get_list("select class_id from teacher2class wehre teacer_id = %s",[nid,])
        lass_list = obj.get_list("select id,title from class",[]) #所有的班级信息,为编辑做准备
        bj.close()
        eturn render(request,'edit_teacher.html',{
           'teacer_info':teacer_info,
           'class_id_list':class_id_list,
           'class_list':class_list,
        })
    else:
        nid = request.GET.get("nid")
        name = request.POST.get("name")
        class_ids = request.POST.getlist("class_ids")
        obj = sqlhelper.SqlHelper()
        #更新老师表格
        obj.modify("update teacher set name=%s where id = %s",[name,nid])
        #更新老师和班级关系表格
        #方法一:先把老师和班级的对应关系删除再添加。
        #方法二:把老对应关系和新对应关系匹配
        obj.modify("delete from teacher2class where teacer_id = %s",[nid,])
        data_list = []
        for cls_id in class_ids:
            temp = (nid,cls_id)
            data_list.append(temp)
        obj.multiple_modify("insert into teacher2class(teacher_id,class_id) values(%s,%s)",data_list)
    return redirect('/teachers/')

新建edit_teacher.html:
<h1>编辑老师</h1>
<form method="POST" action="/edit_teacher/?nid={{ teacer_info.id }}">
<input type="text" name="name" value="{{ teacher_info.name }}" />
<select multiple size="10" name="class_ids">
    {% for item in class_list %}
    <option value = {{ item.id }}>{{ item.tilte }}</option>
    <% endfor %>
</select>
<input type="submit" value="提交" />
</form>

附加:遍历字典的方法
data_list = []
for cls_id in class_ids:
    temp = (nid,cls_id)
    data_list.append(temp)
试着将上述功能采用map和lamda表达式表示出。

 

标签:obj,老师,传统,list,nid,class,编辑,teacher,id
来源: https://www.cnblogs.com/cczhy/p/14191373.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有