文章目录
项目总述
1,功能分析
增加学生记录,查询学生记录,修改学生记录,删除学生记录
2,需求分析
可以查询个人学生信息,包括根据学号查询学习基本情况和选课信息
可以更省时间的查询信息
一、创建Django项目-StudentSystem
由于我是之前就已经创建好了项目,所以此处我只是示范一番如何创建项目
二,创建并注册应用-studentManagement
1.创建studentManagement应用
-在项目配置文件里,导入os模块
- 在控制台执行
python manage.py startapp studentManagement
红色错误的原因是:我之前已经创建了该应用 - 启动项目,访问
http://127.0.0.1:8000
2.注册studentManagement应用
- 在配置文件的INSTALLED_APPS列表里添加index应用
三,创建数据库-studentmanager
四,配置MYSQL数据库连接信息
- 在settings.py文件里配置MySQL数据库连接信息
五,配置MYSQL数据库连接模块
- 在books的__init__.py文件里设置数据库连接模块
注意:如果报错,请在控制台执行pip install pymysql
安装pymysql模块
六,创建模型
1.创建课程表模型-Course
2.创建学生信息模型-StudentInformation
3.创建学生用户模型-Student
- 完整代码
from django.db import models
# 课程表
class CourseModel(models.Model):
cour_id = models.CharField(max_length=15, verbose_name='学生ID')
course = models.CharField(max_length=30, verbose_name='课程')
grade = models.IntegerField(default=60, verbose_name='分数')
class Meta():
db_table = 'course'
def __str__(self):
return '学生Id: 课程: 分数: '.format(self.cour_id, self.course, self.grade)
# 学生信息表
class StudentInformationModel(models.Model):
stu_id = models.CharField(max_length=15,verbose_name='学生id')
stu_name = models.CharField(max_length=30, verbose_name='学生姓名')
stu_phone = models.CharField(max_length=20, verbose_name='学生电话')
str_addr = models.TextField(verbose_name='学生地址')
stu_faculty = models.CharField(max_length=20, verbose_name='院系')
stu_major = models.CharField(max_length=30, verbose_name='专业')
# 取消外键(外键是可用的)
# stu_course = models.ForeignKey('CourseModel', on_delete=True)
class Meta():
db_table = 'studentinformation'
def __str__(self):
return self.stu_id
# 学生用户名密码表
class StudentModel(models.Model):
stu_id = models.AutoField(primary_key=True)
username = models.CharField(max_length=10, verbose_name='用户名')
password = models.CharField(max_length=10, verbose_name='密码')
class Meta():
db_table = 'student'
def __str__(self):
return self.username
七,数据迁移,生成课程表,学生信息表和学生用户表
- 依次执行以下命令
python manage.py makemigrations
python manage.py migrate
- 查看生成表的情况
八,给课程表,学生信息表和学生用户表添加记录
1.给课程表添加记录
insert into `course` values(1,'1001','计算机基础','90');
insert into `course` values(2,'1002','大学英语IA','99');
insert into `course` values(3,'1003','大学英语IB','99');
insert into `course` values(4,'1004','中国近代史纲要','89');
insert into `course` values(5,'1005','高等数学','85');
insert into `course` values(6,'1006','体育','95');
insert into `course` values(7,'1007','大学英语2A','99');
insert into `course` values(8,'1008','大学英语2B','100');
insert into `course` values(9,'1009','大学语文','97');
insert into `course` values(10,'1010','大学物理','96');
insert into `course` values(11,'1011','程序设计基础','98');
insert into `course` values(12,'1012','python程序设计基础','80');
insert into `course` values(13,'1013','计算机网络','87');
insert into `course` values(14,'1014','企业管理','85');
insert into `course` values(15,'1015','django开发','90');
insert into `course` values(16,'1016','形式与政策','88');
insert into `course` values(17,'1017','现代市场营销','95');
insert into `course` values(18,'1018','艺术概论','90');
insert into `course` values(19,'1019','无机化学','89');
insert into `course` values(20,'1020','工程实训','90');
- 查看课程表
2.给学生信息表添加记录
insert into `studentinformation` values (1,1,'迪丽大热巴','12345678911','四川宜宾','人工智能与大数据学院','软件技术');
insert into `studentinformation` values (2,2,'wt','12345678912','四川宜宾','人工智能与大数据学院','软件技术');
insert into `studentinformation` values (3,3,'杨潞潞','12345678913','四川广安','人工智能与大数据学院','软件技术');
insert into `studentinformation` values (4,4,'李琴琴','12345678914','四川峨眉','人工智能与大数据学院','大数据技术');
insert into `studentinformation` values (5,5,'周慧慧','12345678915','四川乐山','人工智能与大数据学院','电子信息工程技术');
insert into `studentinformation` values (6,6,'曹霖