Django 学生信息增删改查
Django
小技巧
int(random.uniform(0, 9) * 10000000000)
#0-9组成的11位随机数都是唯一的,不会重复
1.Django中的mysql配置
步骤
1.创建模型
2.修改settings里的数据库信息
3.创建student models
4.迁移数据库
5.在view里写增删改查
0.基本事项
django-admin startapp Student #创建模型
记得把创建好的模型添加到setting里,注意区分大小写。
#更改settings里的数据库
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql',# 数据库引擎'NAME': 'student',# 数据库名称'USER': 'root','PASSWORD': '233mall156','HOST': '127.0.0.1',# 数据库地址,本机 ip 地址 127.0.0.1'PORT': '3306',# 端口}
}
1.1安装pymysql
pip3 install pymysql #这一步之前有下载过的就不用了
在最开始的项目包下的__init__.py中进行如下配置
setting中的配置默认为sqlite3数据库 当需要修改成MySql时
并且在setting.py的同级目录的__init__.py 加入如下配置
否则会报错: Error loading MySQLdb module.
import pymysql
pymysql.install_as_MySQLdb()
1.2 创建Student
先创建一个student的数据库
在app文件的models.py文件中创建Student(学生信息)
models.py:数据模块,用于数据库设计
from django.db import models
"""
创建学生信息表模型
"""
# Create your models here.
"""该类是用来生成数据库的 必须要继承models.Model
"""
class Student(models.Model):# 学号 primary_key=True: 该字段为主键id = models.CharField(primary_key=True, max_length=15)# 姓名 字符串 最大长度20 null=False, 表示该字段不能为空name = models.CharField(max_length=20, null=False)# 性别 布尔类型 默认True: 男生 False:女生sex = models.BooleanField('性别', default=True)# 身份证 unique=True 该字段唯一idCard = models.CharField(max_length=18, null=False, unique=True)specialized = models.CharField(max_length=24)academy = models.CharField(max_length=64)# 指定表名 不指定默认APP名字——类名(app_demo_Student)class Meta:db_table = 'student'
在利用models.py文件生成数据库表之前,我们需要手动的先创建数据库
1.3迁移数据库
创建完django_msql库之后,我们在终端执行如下命令,他的作用是将models文件生成一个迁移文件
python manage.py makemigrations
这是成功的样子,只要有0001就是成功的。没有0002也是成功的
将迁移文件的内容作用到数据库中,生成表或者修改字段属性
python manage.py migrate
这样表示成功。
1.4增删改查
把下面这串代码放入views里,
注意,代码里的Student是models里的Student
如果这里的类名不是Student,那下面的代码也要对应的修改。
from random import randomfrom django.http import HttpResponse
import random# Create your views here.
from Student.models import Studentdef insert(request):# 随机整数 作为学号for i in range(0, 5):studentNum = int(random.uniform(0, 1) * 10000000000)# 从models文件中获取student对象student = Student()# 给对象赋值student.id = studentNumstudent.name = 'tom' + str(i)student.idCard = int(random.uniform(0, 9) * 10000000000)student.sex = random.choice([True, False])student.specialized = '软件工程'student.academy='信息学院'# 插入数据student.save()return HttpResponse('数据插入完毕')"""
查询
"""
def find(request):#sql = 'select * from student'# django 也可以执行原生的sql语句#result = Student.objects.raw(sql)# 查询name = tom1的数据result = Student.objects.filter(name='tom1')"""result为<class 'django.db.models.query.QuerySet'>的对象需要进行数据处理"""arr = []for i in result:content = {'学号': i.id, '姓名': i.name, '性别': i.sex}arr.append(content)print(arr)print(type(arr))return HttpResponse(arr)"""
修改
"""
def modify(request, id):# 通过学号获取student对象student = Student.objects.get(id=id)# 设置student的name为jackstudent.name = 'jack'student.save()return HttpResponse('修改成功.')"""
删除
"""
def delete(request, id):student = Student.objects.get(id=id)student.delete()return HttpResponse('删除成功.')
1.5修改url
url(r'^insert/', views.insert), # http://localhost:8000/insert/url(r'^find/', views.find), # http://localhost:8000/find/# http://localhost:8000/modify/学号url(r'^modify/(?P<id>\d+)', views.modify),# http://localhost:8000/delete/学号url(r'^delete/(?P<id>.+)', views.delete),
报错
1·No migrations to apply.
解决办法
[(22条消息) Django 连接数据库创建表时未创建成功,提示No migrations to apply原因出现和解决_土渣渣的博客-CSDN博客_django没有migrations]
2·运行结果如下图
解决办法
添加一句“ runserver ”
参考
https://blog.csdn.net/weixin_43499626/article/details/84351572
Django 学生信息增删改查相关推荐
- VS2019 C# MySQL 学生信息增删改查(二、改查(续前节))
VS2019 C# MySQL 学生信息增删改查 六.改 1.在FormXiuGai界面中拖入控件,更改相应的属性,如下图所示. 思路:先查找,再将查找到的数据显示在TextBox上,再进行修改.我这 ...
- android 增删改查 源码_学生信息增删改查小程序案例(springboot服务端)
项目描述: 该小程序实现了简单的管理员登录,学生信息添加,修改,删除,列表显示等功能,服务器端采用springboot框架提供接口,数据传输格式为json,适合新手学习小程序与服务端的交互,以及增删改 ...
- java实现增删改查_java大作业,实现学生信息增删改查
[实例简介] 编写Web应用程序(JavaEE平台上的应用,能够运行在Tomcat服务器上),实现学生信息的增删改查. 在Web页面上实现添加一个学生记录,删除某个学生记录,修改某个学生记录,和按照姓 ...
- C语言链接mysql数据库实现简易的学生信息增删改查
添加学生信息: 查看学生信息: 学生信息删除: 学生信息更新: #define _CRT_SECURE_NO_DEPRECATE /* if (!mysql_real_connect(& ...
- 学生信息管理系统:实现对学生信息增删改查操作
源代码已上传到github:https://github.com/LazyTraveller/student_info_system
- Java-GUI编程实战之管理系统 Day3【学生管理系统GUI设计、学生管理系统增删改查、项目MVC结构介绍、Java技能图谱】
视频.课件.源码[链接:https://pan.baidu.com/s/13ffqGDzH-DZib6-MFViW3Q 提取码:zjxs] Java-GUI编程实战之管理系统 Day1[项目开发流程. ...
- python+django+sqlite3,不成熟的学生管理增删改查
因为是边学边做的,所以有一些地方有了很麻烦的方法,登录验证也没做完,前端也很难看,只是做了基本的增删改查 1.新建project django-admin.py startproject studen ...
- django关于Mysql增删改查操作以及浏览器数据返回
1.serializers: from django.core import serializersdef squitData(request):#查询一条#c1=Catinfo.objects.ge ...
- Django+Vue实现增删改查操作
一.静态路由 urlpatterns属性 urlpatterns是路由文件中的一个全局变量,用来存放路由及视图函数的映射关系 用户发起的请求URL都会首先进入主控制目录下的这个urls.py文件中进行 ...
最新文章
- vs2017 open从v_宣布#Open2017,这是面向开发人员的除夕直播流
- JavaScript对象数组示例
- Linux系统时间函数
- PowerShell_9_零基础自学课程_9_高级主题:静态类和类的操作
- C++静态成员和静态方法
- 阿里云数据中台助力零售耐消品新客获取与转化
- MySQL高级-触发器
- Frenet Frame
- HTML 编辑器推荐
- 编写一个简单加密程序!!!
- 网络安全——sql注入漏洞拓扑图
- 2021云计算技能竞赛真题卷(附标准答案)
- Python编程:从入门到实践(课后习题:第6章 字典)
- java hevc和heif_关于 iOS 和 macOS 的 HEVC 和 HEIF
- 婚礼纪 java面试
- 矩阵求逆器(最高4阶 大一新牲的代码
- Delphi常用的Excel操作
- 酷睿i5 12490f什么水平 i5 12490f属于什么档次 i512490f怎么样
- 重复文件太多,该怎样快速清理?
- LeetCode34--去掉最低工资和最高工资后的工资平均值、判断能否形成等差数列、重新排列字符串