时隔多日,辗转反侧,终究还是决定动笔来记录一下自己写下的一个简易的项目,也是对自己学习路上的一种记录吧,顺便希望这个项目可以帮助学习路上迷茫时的一点帮助,希望可以帮助到大家,至于项目使用的第三方模块,我会在后续列出来。
创建项目
所属环境
- Django 3.0版本以上
- python3.7版本及以上
- mysql数据库8.0及以上
版本没有固定要求,各个版本之间差异性并不是很大,只要大版本之间不差即可
开始创建
- pyCharm点击创建项目,选择Django项目即可
2.创建好项目之后,开始创建自己的app,用以下命令
在当前项目下命令行中输入,有三个类型的app,student是学生类,maker是管理员类,teacher是教师类
- python manage.py startapp student
- python manage.py startapp maker
- python manage.py startapp teacher
3.创建好app之后,将app名称添加到设置当中,以便于可以访问到创建好的app
4.创建好大致的框架之后开始链接数据库,和数据模型
- 1.可以选择连接Django自带数据库,创建项目之后自带,可以不用管
- 2.选择用mysql数据库来连接
- 设置当中配置好后,还需要再项目文件中写以下代码
-
import pymysql pymysql.install_as_MySQLdb()
大致环境已经搭建完成,接下来就是模型设计了
创建模型类
1.项目创建中的比较重要的部分,也是一个项目数据存储的地方,可以通过models层来操作数据库,类代表数据库中表,在maker文件夹下的models层写入,主要代码如下:
from django.db import models
# Create your models here.
class Maker(models.Model):
name = models.CharField(max_length=32,primary_key=True)
password = models.CharField(max_length=32)
class Student(models.Model):
stu_id = models.IntegerField(primary_key=True)
stu_name = models.CharField(max_length=32)
stu_sex = models.CharField(max_length=32)
stu_major = models.ForeignKey("Major",on_delete=models.CASCADE)
department = models.ForeignKey("Department",on_delete=models.CASCADE)
stu_class = models.CharField(max_length=64)
stu_phone = models.CharField(max_length=32)
stu_address = models.CharField(max_length=32)
stu_birthday = models.DateField()
password = models.IntegerField(default=123456)
isdeleted = models.IntegerField(default=0)
class User(models.Model):
userid = models.IntegerField(primary_key=True)
username = models.CharField(max_length=32)
# age = models.IntegerField()
usersex = models.CharField(max_length=32)
password = models.IntegerField(default=123456)
other = models.CharField(max_length=128)
isdeleted = models.IntegerField(default=0)
class Department(models.Model):
# dm_id = models.IntegerField(primary_key=True)
dm_name = models.CharField(max_length=32)
dm_dean = models.CharField(max_length=32)
dm_phone = models.CharField(max_length=32)
isdeleted = models.IntegerField(default=0)
class Major(models.Model):
# major_id = models.IntegerField(primary_key=True,)
major_name = models.CharField(max_length=32)
department = models.ForeignKey("Department",on_delete=models.CASCADE)
major_teacher = models.CharField(max_length=32)
isdeleted = models.IntegerField(default=0)
class Classes(models.Model):
# classes_id = models.IntegerField(primary_key=True)
classes_name = models.CharField(max_length=32)
major = models.ForeignKey("Major",on_delete=models.CASCADE)
classes_teacher = models.CharField(max_length=32)
isdeleted = models.IntegerField(default=0)
写好models层的代码之后,还要将数据进行迁移,在项目中的终端上写入
python manage.py makemigrations
python manage.py migrate
注:必须将此app在设置中添加进去,不然不会产生迁移数据
在项目中先设置路由,项目启动之后是根据路由来找对应的视图
路由创建好之后就可以根据自己的想法来写前端简易的页面,来完成对数据的操作。接下来的登录操作