1.urls.py

  1. """Django_demo1 URL Configuration
  2.  
  3. The `urlpatterns` list routes URLs to views. For more information please see:
  4. https://docs.djangoproject.com/en/2.1/topics/http/urls/
  5. Examples:
  6. Function views
  7. 1. Add an import: from my_app import views
  8. 2. Add a URL to urlpatterns: path('', views.home, name='home')
  9. Class-based views
  10. 1. Add an import: from other_app.views import Home
  11. 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
  12. Including another URLconf
  13. 1. Import the include() function: from django.urls import include, path
  14. 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
  15. """
  16. from django.contrib import admin
  17. from django.urls import path
  18. from app01.views import classes
  19. from app01.views import students
  20. # from django.urls import re_path
  21.  
  22. urlpatterns = [
  23. path('admin/', admin.site.urls),
  24. path('classes.html/', classes.get_classes),
  25. path('add_classes', classes.add_classes),
  26. path('del_classes', classes.del_classes),
  27. path('edit_classes', classes.edit_classes),
  28. path('students.html/', students.get_students),
  29. path('add_students', students.add_students),
  30. path('del_students', students.del_students),
  31. path('edit_students', students.edit_students),
  32.  
  33. ]

2.models.py

  1. from django.db import models
  2.  
  3. class Classes(models.Model):
  4. '''
  5. 班级表
  6. '''
  7. title = models.CharField(max_length=32)
  8. m = models.ManyToManyField('Teachers')
  9.  
  10. class Teachers(models.Model):
  11. '''
  12. 老师表
  13. '''
  14. name = models.CharField(max_length=32)
  15.  
  16. '''
  17. cid tid
  18. 1 1
  19. 2 1
  20. 1 1
  21. '''
  22. # class C2T(models.Model):
  23. # cid = models.ForeignKey()
  24. # tid = models.ForeignKey()
  25.  
  26. class Student(models.Model):
  27. username = models.CharField(max_length=32)
  28. age = models.IntegerField()
  29. gender = models.BooleanField()
  30. cs = models.ForeignKey('Classes', on_delete=models.CASCADE)

3.classes.py

  1. from django.shortcuts import render, redirect
  2. from app01 import models
  3.  
  4. def get_classes(request):
  5. cls_list = models.Classes.objects.all()
  6. return render(request, 'get_classes.html', {'cls_list': cls_list})
  7.  
  8. def add_classes(request):
  9. if request.method == 'GET':
  10. return render(request, 'add_classes.html')
  11. if request.method == 'POST':
  12. title = request.POST.get('title')
  13. models.Classes.objects.create(title=title)
  14. return redirect('/classes.html')
  15.  
  16. def del_classes(request):
  17. nid = request.GET.get('nid')
  18. models.Classes.objects.filter(id=nid).delete()
  19. return redirect('classes.html/')
  20.  
  21. def edit_classes(request):
  22. if request.method == 'GET':
  23. nid = request.GET.get('nid')
  24. obj = models.Classes.objects.filter(id=nid).first()
  25.  
  26. return render(request, 'edit_classes.html', {'obj': obj})
  27. if request.method == 'POST':
  28. nid = request.POST.get('nid')
  29. title = request.POST.get('title')
  30.  
  31. models.Classes.objects.filter(id=nid).update(title=title)
  32. return redirect('/classes.html')

4.students.py

  1. from django.shortcuts import render, redirect
  2. from app01 import models
  3.  
  4. def get_students(request):
  5. students_list = models.Student.objects.all()
  6. return render(request, 'get_students.html', {'students_list': students_list})
  7.  
  8. def del_students(request):
  9. nid = request.GET.get('nid')
  10. models.Student.objects.filter(id=nid).delete()
  11. return redirect('/students.html')
  12.  
  13. def add_students(request):
  14. if request.method == 'GET':
  15. cs_list = models.Classes.objects.all()
  16. return render(request, 'add_students.html', {'cs_list': cs_list})
  17. if request.method == 'POST':
  18. id = request.POST.get('id')
  19. username = request.POST.get('username')
  20. age = request.POST.get('age')
  21. gender = request.POST.get('gender')
  22. cs_id = request.POST.get('cs_id')
  23. models.Student.objects.create(id=id, username=username, age=age, gender=gender, cs_id=cs_id)
  24. return redirect('/students.html')
  25.  
  26. def edit_students(request):
  27.  
  28. if request.method == 'GET':
  29. nid = request.GET.get('nid')
  30. # print(nid)
  31. class_list = models.Classes.objects.all()
  32. obj = models.Student.objects.filter(id=nid).first()
  33.  
  34. return render(request, 'edit_students.html', {'obj': obj, 'class_list': class_list})
  35. if request.method == 'POST':
  36. id = request.POST.get('id')
  37. username = request.POST.get('username')
  38. age = request.POST.get('age')
  39. gender = request.POST.get('gender')
  40. cs_id = request.POST.get('cs_id')
  41. models.Student.objects.filter(id=id).update(id=id, username=username, age=age, gender=gender, cs_id=cs_id)
  42. return redirect('/students.html')

5.add_classes.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <form action="add_classes" method="post">
  9. {% csrf_token %}
  10. <input type="text" name="title" >
  11. <input type="submit" value="提交">
  12. </form>
  13. </body>
  14. </html>

6.add_students.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <form action="/add_students" method="post">
  9. {% csrf_token %}
  10. <input type="text" name="id" placeholder="id">
  11. <input type="text" name="username" placeholder="username">
  12. <input type="text" name="age" placeholder="age">
  13. <input type="radio" name="gender" value="0">
  14. <input type="radio" name="gender" value="1">
  15. <select name="cs_id" >
  16. {% for row in cs_list %}
  17. <option value="{{ row.id }}">{{ row.title }}</option>
  18. {% endfor %}
  19. </select>
  20. {# <input type="text" name="cs_id" placeholder="cs_id">#}
  21. <input type="submit" value="提交">
  22. </form>
  23. </body>
  24. </html>

7.edit_classes.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <form action="edit_classes" method="post">
  9. {% csrf_token %}
  10. <input type="text" name="nid" value="{{ obj.id }}" style="display:none;" >
  11. <input type="text" name="title" value="{{ obj.title }}">
  12. <input type="submit" value="提交">
  13. </form>
  14. </body>
  15. </html>

8.edit_classes.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <form action="/edit_students" method="post">
  9. {% csrf_token %}
  10. <input type="text" name="id" value="{{ obj.id }}">
  11. <input type="text" name="username" value="{{ obj.username }}">
  12. <input type="text" name="age" value="{{ obj.age }}">
  13.  
  14. <input type="radio" name="gender" value="0">
  15. <input type="radio" name="gender" value="1">
  16. <select name="cs_id">
  17. {% for row in class_list %}
  18. <option value="{{ row.id }}">{{ row.title }}</option>
  19. {% endfor %}
  20. </select>
  21.  
  22. <input type="submit" value="提交">
  23.  
  24. </form>
  25. </body>
  26. </html>

9.get_classes.html

  1. <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    </head>
    <body>
    <div>
    <a href="/add_classes">添加</a>
    </div>
    <div>
    <table border="1">
    <thead>
    <tr>
    <th>ID</th>
    <th>名称</th>
    <th>操作</th>
    </tr>
    </thead>
    <tbody>
    {% for row in cls_list %}
    <tr>
    <td>
    {{ row.id }}
    </td>
    <td>
    {{ row.title }}
    </td>
    <td>
    {# <form action="/del_classes?{{ row.id }}" method="get">#}
    {# <input type="submit" value="删除">#}
    {# </form>#}
    <a href="/del_classes?nid={{ row.id }}" >删除</a>
    |
    <a href="/edit_classes?nid={{ row.id }}">编辑</a>
    </td>
    </tr>
    {% endfor %}
    </tbody>
    </table>
    </div>
  2.  
  3. </body>
    </html>

10.get_students.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <div>
  9. <a href="/add_students">添加</a>
  10. </div>
  11. <div>
  12. <table border="1">
  13. <tr>
  14. <th>id</th>
  15. <th>姓名</th>
  16. <th>年龄</th>
  17. <th>性别</th>
  18. <th>班级</th>
  19. <th>操作</th>
  20. </tr>
  21. <tbody>
  22. {% for row in students_list %}
  23. <tr>
  24. <td>
  25. {{ row.id }}
  26. </td>
  27. <td>
  28. {{ row.username }}
  29. </td>
  30. <td>
  31. {{ row.age }}
  32. </td>
  33. <td>
  34. {% if row.gender == 0 %}

  35. {% endif %}
  36. {% if row.gender == 1 %}

  37. {% endif %}
  38. </td>
  39. <td>
  40. {{ row.cs.title }}
  41. </td>
  42. <td>
  43. <a href="/del_students?nid={{ row.id }}">删除</a>
  44. |
  45. <a href="/edit_students?nid={{ row.id }}">编辑</a>
  46. </td>
  47.  
  48. </tr>
  49. {% endfor %}
  50. </tbody>
  51. </table>
  52. </div>
  53. </body>
  54. </html>

  

 

Django实现数据库中表格的增删查改的更多相关文章

  1. Java连接MySQL数据库及简单的增删查改操作

    主要摘自 https://www.cnblogs.com/town123/p/8336244.html https://www.runoob.com/java/java-mysql-connect.h ...

  2. Yii2使用数据库操作汇总(增删查改、事务)

    查询 //1.简单查询 $admin=Admin::model()->findAll($condition,$params); $admin=Admin::model()->findAll ...

  3. 使用webapi绑定layui数据表格完整增删查改记录

    因为每次给layui数据表格绑定数据或者类似操作的时候  总要重新做一遍 而且忘记很多东西 所以干脆写博客把相关东西记录下来 便于查阅和修正 以下是一个完整的数据表格i项目的增删改查案例 先来看后台 ...

  4. django与mysql实现简单的增删查改

    模型定义 from django.db import models class Grades(models.Model): g_name = models.CharField(max_length=2 ...

  5. jdbc 可处理数据库事物的通用增删查改函数

    首先弄清四种隔离级别的和三种数据并发 之间的关系 通用查询函数 //使用PreparedStatement实现对不同表的通用的返回一个对象的查询操作 //使用泛型机制,参数里先传入一个类的类型 pub ...

  6. Django笔记&教程 5-1 基础增删查改

    Django 自学笔记兼学习教程第5章第1节--基础增删查改 点击查看教程总目录 第四章介绍了模型类models.Model和创建模型,相当于介绍了数据库表和如何创建数据库表. 这一章将介绍如何使用模 ...

  7. 4.在MVC中使用仓储模式进行增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 系列目录: ...

  8. MongoDB数据库(二):增删查改

    MongoDB数据库的增删查改 1.插入数据 语法: db.集合名称.insert(document) db.table_name.insert({name:'gj',gender:1}) db.ta ...

  9. C# SQLite 创建数据库的方法增删查改语法和命令

    SQLite介绍 SQLite是一个开源.免费的小型RDBMS(关系型数据库),能独立运行.无服务器.零配置.支持事物,用C实现,内存占用较小,支持绝大数的SQL92标准. SQLite数据库官方主页 ...

随机推荐

  1. QuantLib 金融计算——随机过程之概述

    目录 QuantLib 金融计算--随机过程之概述 框架 用法与接口 如果未做特别说明,文中的程序都是 Python3 代码. QuantLib 金融计算--随机过程之概述 载入模块 import Q ...

  2. 线段树基本操作(Segment Tree)

    线段树(Segment Tree) 入门模板题 洛谷oj P3372 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.求出某区间每一个数的和 输入格式 第一行包 ...

  3. Linux终端没有GUI,使用matplotlib绘图

    一.解决警告信息 ... _tkinter.TclError: no display name and no $DISPLAY environment variable 两种解决方法: 1.pytho ...

  4. LARTC

    大牛的博客 howto ,however, is simplify. another space ip link list ip address show ip route show route -n ...

  5. servlet的url-pattern规则

    https://www.cnblogs.com/canger/p/6084846.html

  6. Mac拷贝/复制文件夹路径快捷键

    快捷键:Option+Command+C 显示路径在Finder: defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES ...

  7. lrzsz

    新搞的云服务器用SecureCRT不支持上传和下载,没有找到rz命令.记录一下如何安装rz/sz命令的方法. 一.工具说明 在SecureCRT这样的ssh登录软件里, 通过在Linux界面里输入rz ...

  8. cocos开发环境搭建

    本文大部分内容取材自这篇文章:http://cn.cocos2d-x.org/tutorial/show?id=1448 公欲善其事,必先利其器. 想学习cocos?啥都别说了,先搭环境吧. 需要做的 ...

  9. Ibatis SqlMap映射关系总结

    一.一对一关系一对一关系即一对单个对象,下面举例说明:一对单个对象例如:<resultMap id="loadAResult" class="A"> ...

  10. JAVA泛型——逆变

    在上篇<JAVA泛型——协变>这篇文章中遗留以下问题——协变不能解决将子类型添加到父类型的泛型列表中.本篇将用逆变来解决这个问题. 实验准备 我们首先增加以下方法,见代码清单1所示. 代码 ...