转载自http://www.cnblogs.com/liwenzhou/p/8270250.html

一、学员管理系统

1.项目规划阶段

项目背景

近年来老男孩教育的入学学员数量稳步快速增长,传统的excel统计管理学员信息的方式已经无法满足日渐增长的业务需求。因此公司急需一套方便易用的“学员管理系统”,来提高公司在校学员信息的收集和处理能力。鉴于Python学院全栈x期的学员都聪明伶俐可爱至极,因此公司领导经过慎重考虑特决定将此项目交给大家来开发。

项目需求

本次学员管理系统设计开发,时间紧任务重,希望各位开发人员戒骄戒躁戒烟戒酒,尽快完成项目的开发。

具体需求为:

学员管理系统有三个角色:学生、老师和班级。

学生有姓名和所属班级。

班级信息有:班级名称。

老师信息有:姓名

老师可以带多个班级,每个班级不同阶段也会有不同的老师讲课。

项目周期

三天

二、项目开发阶段

1.表结构设计

-- 创建班级表
CREATE TABLE class(
id int auto_increment PRIMARY KEY,
name CHAR(10) not null
)engine=innodb DEFAULT charset=utf8; -- 创建学生表
CREATE TABLE student(
id int auto_increment PRIMARY KEY,
name CHAR(10) not null,
class_id INT, FOREIGN KEY (class_id) REFERENCES class(id) ON DELETE CASCADE ON UPDATE CASCADE
)engine=innodb DEFAULT charset=utf8; -- 创建老师表
CREATE TABLE teacher(
id int auto_increment PRIMARY KEY,
name CHAR(10) not null
)engine=innodb DEFAULT charset=utf8; -- 创建老师和班级关系表
CREATE TABLE teacher2class(
id INT AUTO_INCREMENT PRIMARY KEY,
teacher_id INT,FOREIGN KEY (teacher_id) REFERENCES teacher(id) ON DELETE CASCADE ON UPDATE CASCADE ,
class_id INT,FOREIGN KEY (class_id) REFERENCES class(id) ON DELETE CASCADE ON UPDATE CASCADE
)engine=innodb DEFAULT charset=utf8;

2.前端部分

使用Bootstrap搭建的管理后台页面

3.后端部分

视图函数+模板语言+pymysql

1. 班级信息管理

2. 学生信息管理

3. 老师信息管理

4. 数据库连接优化

三、Django模板语言语法

用到的模板语言语法

Python学习(二十七)—— Django和pymysql搭建学员管理系统的更多相关文章

  1. Django和pymysql搭建学员管理系统

    学员管理系统 项目规划阶段 项目背景 近年来老男孩教育的入学学员数量稳步快速增长,传统的excel统计管理学员信息的方式已经无法满足日渐增长的业务需求.因此公司急需一套方便易用的“学员管理系统”,来提 ...

  2. python 学习笔记十七 django深入学习二 form,models

    表单 GET 和 POST 处理表单时候只会用到GET 和 POST 方法. Django 的登录表单使用POST 方法,在这个方法中浏览器组合表单数据.对它们进行编码以用于传输.将它们发送到服务器然 ...

  3. django+pymysql搭建一个管理系统(一)

    django+pymysql搭建一个管理系统(一) 后续进行代码更新,优化 一.程序架构 二.mysql表单创建 zouye库:存信息相关的 #班级表 create table classes( ci ...

  4. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  5. Java开发学习(二十七)----SpringMVC之Rest风格解析及快速开发

    一.REST简介 REST(Representational State Transfer),表现形式状态转换,它是一种软件架构风格 当我们想表示一个网络资源的时候,可以使用两种方式: 传统风格资源描 ...

  6. Django项目之【学员管理系统】

    Django项目[学员管理系统] 项目规划阶段 项目背景 现实生活中,特别是在学校,传统的excel统计管理学员信息的方式已经无法满足日渐增长的业务需求. 因此需一套方便易用的“学员管理系统”,来提高 ...

  7. Python学习笔记24:Django搭建简单的博客站点(二)

    上一节说道怎样使用Django创建并执行一个项目.这节说怎样加入一个博客应用. 一 项目跟应用的关系 在加入应用之前,先来看看项目与应用之间有什么不同之处呢? 项目是针对一个特定的 Web 站点相关的 ...

  8. Python学习(十七)—— 数据库(二)

    转载自http://www.cnblogs.com/linhaifeng/articles/7356064.html 一. 数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中, ...

  9. Python学习笔记(Django篇)——1、环境搭建篇(如何在Pycharm中配置Python和Django)

      1.准备好以下东东,并且按照先后顺序进行安装: Python 3.6 (64-bit) Django-1.11.tar.gz pycharm-community-2016.3.2.exe 安装好了 ...

随机推荐

  1. Linux内存使用调整

    前段时间在做播放器的时候,遇到个问题,花了很长时间,做个记录,希望对有需要的人有所帮助: 播放器的播视频的时候,无论是手动切换视频还是到视频播放完成,自动切换视频,一定次数后均出现黑屏现象,偶尔有声音 ...

  2. 用于主题检测的临时日志(c5ac07a5-5dab-45d9-8dc2-a3b27be6e507 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)

    这是一个未删除的临时日志.请手动删除它.(5051e554-d10d-4e48-b2ca-37c38a30153a - 3bfe001a-32de-4114-a6b4-4005b770f6d7)

  3. Elasticsearch索引别名、Filtered索引别名、Template

    在使用elasticsearch的时候,经常会遇到需要淘汰掉历史数据的场景. 为了方便数据淘汰,并使得数据管理更加灵活,我们经常会以时间为粒度建立索引,例如: 每个月建立一个索引:monthly-20 ...

  4. which命令和bin目录

    命令: which 作用: 查看执行命令所在位置 使用: which ls which useradd 等等... bin和sbin: 绝大多数可执行文件都保存在 /bin./sbin./usr/bi ...

  5. nginx记录post body/payload数据

    1. 文档 在nginx中想利用$request_body命令获取post请求的body参数,并落日志,但是发现该变量值为空,查看官网中对$request_body的描述如下: $request_bo ...

  6. 洛谷P3676 小清新数据结构题 [动态点分治]

    传送门 思路 这思路好妙啊! 首先很多人都会想到推式子之后树链剖分+线段树,但这样不够优美,不喜欢. 脑洞大开想到这样一个式子: \[ \sum_{x} sum_x(All-sum_x) \] 其中\ ...

  7. Codeforces 576E Painting Edges [分治,并查集]

    洛谷 Codeforces 建议阅读这篇博客作为预备.无耻地打广告 思路 与bzoj4025很相似,思路也差不多,可以看上面那篇博客. 仍然是用二分图的充要条件:没有奇环. 然而这题难在每条边的存在时 ...

  8. Confluence 6 通过 SSL 或 HTTPS 运行 - 重定向所有的 URLS 到 HTTPS 的安全考虑

    尽管现在 HTTPS 现在已经激活并且可用了.老的 HTTP URLs (http://localhost:8090)还是可以访问的.现在你需要重定向所有 URLs 到他们的 HTTPS 链接中.你可 ...

  9. Confluence 6 用户目录图例 - 使用 LDAP 授权,在用户第一次登陆时拷贝用户

    上面的图:Confluence 连接到一个 LDAP 目录只用作授权,当用户登录 Confluence 的时候,使用 LDAP 授权并且将用户信息同步到本地路服务器上. https://www.cwi ...

  10. LeetCode(90):子集 II

    Medium! 题目描述: 给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: [1,2,2] 输出: [ [2], [1 ...