models.py 对应的配置

class Classes(models.Model):caption = models.CharField(max_length=32)class Teacher(models.Model):name = models.CharField(max_length=32)cls = models.ManyToManyField('Classes')

修改 views.py

@auth
def handle_teacher(request):current_user = request.session.get('username')# teacher_list = models.Teacher.objects.all()# for obj in teacher_list:#     print(obj.id, obj.name, obj.cls.all())# 分页,获取第一页5位老师对应的记录teacher_list = models.Teacher.objects.filter(id__in=models.Teacher.objects.all()[0:5]).values('id', 'name', 'cls__id', 'cls__caption')result = {}for t in teacher_list:# 判断是否已在 result 中if t['id'] in result:# 判断 cls__id 的值是否为空if t['cls__id']:result[t['id']]['cls_list'].append({'id': t['cls__id'], 'caption': t['cls__caption']})else:# cls__id 有值if t['cls__id']:temp = [{'id': t['cls__id'], 'caption': t['cls__caption']},]else:# cls__id 没值temp = []# 给 result 字典添加值result[t['id']] = {'nid': t['id'],'name': t['name'],'cls_list': temp}return render(request, 'teacher.html', {'username': current_user, 'teacher_list': result})

修改 teacher.html

{% extends "layout.html" %}{% block css %}.tag{display: inline-block;padding: 5px;border: 1px solid red;background-color: lightpink;cursor: pointer;}{% endblock %}{% block content %}<h1>老师列表</h1><table border="1"><thead></thead><tbody>{% for dic in teacher_list.values %}<tr><td>{{ dic.nid }}</td><td>{{ dic.name }}</td><td>{% for c in dic.cls_list %}<span class="tag" nid="{{ c.id }}">{{ c.caption }}</span>{% endfor %}</td></tr>{% endfor %}</tbody></table>
{% endblock %}{% block js %}<script>$(function () {$('#menu_teacher').addClass('active');})</script>
{% endblock %}

转载于:https://www.cnblogs.com/klvchen/p/11137387.html

Django 练习班级管理系统五 -- 查看老师列表相关推荐

  1. [附源码]java毕业设计高校班主任班级管理系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  2. [附源码]SSM计算机毕业设计高校班主任班级管理系统JAVA

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  3. 【附源码】Java计算机毕业设计高校班主任班级管理系统(程序+LW+部署)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  4. jsp+ssm计算机毕业设计高校班主任班级管理系统【附源码】

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  5. [附源码]计算机毕业设计JAVAjsp高校班主任班级管理系统

    [附源码]计算机毕业设计JAVAjsp高校班主任班级管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclisp ...

  6. Python+班级管理系统 毕业设计-附源码171809

    目  录 摘要 1 绪论 1.1研究背景 1.2研究的目的与意义 1.3系统开发技术的特色 1.4论文结构与章节安排 2基于Python班级管理系统系统分析 2.1 可行性分析 2.2 系统流程分析 ...

  7. django校园宿舍管理系统-计算机毕设 附源码84831

    django校园宿舍管理系统 摘 要 本论文主要论述了如何使用Django开发一个校园宿舍管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发.在引言 ...

  8. (附源码)基于django校园宿舍管理系统-计算机毕设84831

    django校园宿舍管理系统 摘 要 本论文主要论述了如何使用Django开发一个校园宿舍管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发.在引言 ...

  9. WPF 项目开发入门(五)ListView列表组件 与 Expander组件

    WPF 项目开发入门(一) 安装运行 WPF 项目开发入门(二) WPF 页面布局 WPF 项目开发入门(三)WPF 窗体与页面 WPF 项目开发入门(四) MVVM 模式 与 TreeView树组件 ...

最新文章

  1. flume-hdfs 按照时间关闭并新开文件
  2. 解释一下c语言 for(;;) printf(*);,printf()函数的一个问题
  3. C# 中实现单例模式
  4. 7步搞定Python数据可视化,业界大牛出品教程,Jupyter、Colab都有在线版
  5. MySQL同表关联的id替换名称_MySQL JOIN用另一个表中的值替换ID
  6. php 使用PDO,防止sql注入 简单说明
  7. 7个开放式的前端面试题
  8. 应用程序框架实战二十三:基础查询扩展
  9. 谜题40:不情愿的构造器
  10. Excel数据分析案例一——业绩达成分析
  11. iphone屏幕镜像如何全屏_苹果手机镜像不是全屏 苹果手机如何屏幕镜像
  12. 于的繁体字有几种写法_仙字繁体(仙的繁体字几种写法)
  13. .net\C#基于zxing的彩色、Logo二维码生成---随笔
  14. 服务器主板双cpu性能好吗,双CPU的电脑用起来,性能和功耗都是原来的两倍?
  15. linux查找与替换练习
  16. MFCXTP库读取和写入XML文件
  17. Pytorch min函数详解
  18. 获取class的三种方式
  19. Windows 10中的Docker实践
  20. 使用mysqladmin修改mysql数据库密码

热门文章

  1. 移动webhead参数
  2. python自带的idle优点_python新手入门使用自带的IDLE、用pycharm还是visual studio ?
  3. android服务应用场景,Android Service的使用介绍
  4. randn函数加噪声_NLP入门指南01:感知机、激活函数、损失函数
  5. php显示服务器拒绝连接失败,php – SMTP ERROR:无法连接到服务器:连接被Office365拒绝(111)...
  6. eclipse CTRL+F Find/Replace使用正则表达式
  7. spring PathVariable
  8. gamma分布_深度学习需要掌握的 13 个概率分布(附代码)
  9. html必有标记,前段必备Html标签H5有标记-.docx
  10. linux在没有x远程桌面,xmanager远程桌面控制linux