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 学生信息增删改查相关推荐

  1. VS2019 C# MySQL 学生信息增删改查(二、改查(续前节))

    VS2019 C# MySQL 学生信息增删改查 六.改 1.在FormXiuGai界面中拖入控件,更改相应的属性,如下图所示. 思路:先查找,再将查找到的数据显示在TextBox上,再进行修改.我这 ...

  2. android 增删改查 源码_学生信息增删改查小程序案例(springboot服务端)

    项目描述: 该小程序实现了简单的管理员登录,学生信息添加,修改,删除,列表显示等功能,服务器端采用springboot框架提供接口,数据传输格式为json,适合新手学习小程序与服务端的交互,以及增删改 ...

  3. java实现增删改查_java大作业,实现学生信息增删改查

    [实例简介] 编写Web应用程序(JavaEE平台上的应用,能够运行在Tomcat服务器上),实现学生信息的增删改查. 在Web页面上实现添加一个学生记录,删除某个学生记录,修改某个学生记录,和按照姓 ...

  4. C语言链接mysql数据库实现简易的学生信息增删改查

    添加学生信息: 查看学生信息: 学生信息删除: 学生信息更新: #define _CRT_SECURE_NO_DEPRECATE  /*   if (!mysql_real_connect(& ...

  5. 学生信息管理系统:实现对学生信息增删改查操作

    源代码已上传到github:https://github.com/LazyTraveller/student_info_system

  6. Java-GUI编程实战之管理系统 Day3【学生管理系统GUI设计、学生管理系统增删改查、项目MVC结构介绍、Java技能图谱】

    视频.课件.源码[链接:https://pan.baidu.com/s/13ffqGDzH-DZib6-MFViW3Q 提取码:zjxs] Java-GUI编程实战之管理系统 Day1[项目开发流程. ...

  7. python+django+sqlite3,不成熟的学生管理增删改查

    因为是边学边做的,所以有一些地方有了很麻烦的方法,登录验证也没做完,前端也很难看,只是做了基本的增删改查 1.新建project django-admin.py startproject studen ...

  8. django关于Mysql增删改查操作以及浏览器数据返回

    1.serializers: from django.core import serializersdef squitData(request):#查询一条#c1=Catinfo.objects.ge ...

  9. Django+Vue实现增删改查操作

    一.静态路由 urlpatterns属性 urlpatterns是路由文件中的一个全局变量,用来存放路由及视图函数的映射关系 用户发起的请求URL都会首先进入主控制目录下的这个urls.py文件中进行 ...

最新文章

  1. vs2017 open从v_宣布#Open2017,这是面向开发人员的除夕直播流
  2. JavaScript对象数组示例
  3. Linux系统时间函数
  4. PowerShell_9_零基础自学课程_9_高级主题:静态类和类的操作
  5. C++静态成员和静态方法
  6. 阿里云数据中台助力零售耐消品新客获取与转化
  7. MySQL高级-触发器
  8. Frenet Frame
  9. HTML 编辑器推荐
  10. 编写一个简单加密程序!!!
  11. 网络安全——sql注入漏洞拓扑图
  12. 2021云计算技能竞赛真题卷(附标准答案)
  13. Python编程:从入门到实践(课后习题:第6章 字典)
  14. java hevc和heif_关于 iOS 和 macOS 的 HEVC 和 HEIF
  15. 婚礼纪 java面试
  16. 矩阵求逆器(最高4阶 大一新牲的代码
  17. Delphi常用的Excel操作
  18. 酷睿i5 12490f什么水平 i5 12490f属于什么档次 i512490f怎么样
  19. 重复文件太多,该怎样快速清理?
  20. LeetCode34--去掉最低工资和最高工资后的工资平均值、判断能否形成等差数列、重新排列字符串

热门文章

  1. GTX 900系列显卡BIOS超频笔记 (Maxwell )
  2. docker离线部署
  3. 利用html5读取本地文本文件及图片文件
  4. python简历项目经验在哪里找_python工程师简历模板
  5. 上海银联chinapay支付接口实现详解
  6. Spring @Scheduled定时任务动态修改cron参数
  7. 前端使用水印的代码实现
  8. HC社区商城安装(软件商店安装)
  9. 【51单片机】七段数码管和矩阵键盘的综合实验——计算器(思路+仿真电路+源代码)
  10. 在 Linux 上安装软件的 3 种方法