学员管理示例——班级管理(单表操作)

一、新建views文件夹

  1、新建views文件夹目的:给不同管理的操作分类,比如班级操作归为一类。

     2、必须删除原来的views,以免路径搜索不到新建views文件夹

  3、创建classes.py文件

二、操作流程(URL -> 函数 -> HTML文件 -> URL)

  URL路由

from django.contrib import admin
from django.urls import re_path
from app01.views import classes    # 引入模块

urlpatterns = [
    re_path(‘admin/‘, admin.site.urls),
    re_path(‘classes.html/$‘, classes.get_classes),
    re_path(‘add_classes.html$‘, classes.add_classes),
    re_path(‘del_classes.html$‘, classes.del_classes),
    re_path(‘edit_classes.html$‘, classes.edit_classes),
]注意:  1、每个url路由最后由$符结束,防止检索出错。  2、第一个url路由必须以 /$ 结尾,后面同上。(版本问题)

  创建相应的函数

from django.shortcuts import render,HttpResponse,redirect
from app01 import models

def get_classes(request):
    cls_list = models.Classes.objects.all()
    # print(cls_list)
    return render(request,"get_classes.html",{"cls_list":cls_list})

def add_classes(request):
    if request.method == "GET":
        return render(request, "add_classes.html")
    elif request.method == "POST":
        title = request.POST.get("title")
        print(title)
        models.Classes.objects.create(name=title)
        return redirect("/classes.html")

def del_classes(request):
    nid = request.GET.get("nid")
    print(nid)
    models.Classes.objects.filter(id=nid).delete()
    return redirect("/classes.html")

def edit_classes(request):
    if request.method == "GET":
        nid = request.GET.get("nid")
        obj = models.Classes.objects.filter(id=nid).first()
        return render(request,"edit_classes.html",{"obj":obj})
    elif request.method == "POST":     # nid以get请求方式传入
        nid = request.GET.get("nid")
        title = request.POST.get("title")
        models.Classes.objects.filter(id=nid).update(name=title)
        return redirect("/classes.html")

  

总结:    1、从数据库取数据: models.Classes.objects.filter(id=nid).update(name=title)
  2、取返回值数据:request.GET.get("nid")    
注意:     1、render是打开HTML文件,而redirect是url路由  2、跳转至url路由时,需在前加 / 斜杆,打开跳转HTML文件时则不用

  创建HTML文件

    <div>
        <a href="/add_classes.html">添加</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.name}}
                        </td>
                        <td>
                            <a href="/del_classes.html?nid={{row.id}}" >删除</a>
                            |
                            <a href="/edit_classes.html?nid={{row.id}}" >编辑</a>
                        </td>
                    </tr>
                {% endfor %}
            </tbody>
        </table>
    </div>

  

<form action="/add_classes.html" method="POST">
    {% csrf_token %}    {# 解除POST请求 #}
    <input type="text" name="title" >
    <input type="submit" value="提交" >   {# value为默认值 #}
</form>

  

<form action="/edit_classes.html?nid={{obj.id}}" method="POST">   {# 用get请求发送id更简洁 #}
    {% csrf_token %}
    <!--<input type="text" name="id" value="{{obj.id}}" style="display:none">-->   {# 隐藏ID #}
    <input type="text" name="title" value="{{obj.name}}">
    <input type="submit" value="提交">
</form>

  总结:

    1、页面跳转为url路由请求

 

原文地址:https://www.cnblogs.com/Lujun1028/p/9573302.html

时间: 2024-08-30 13:07:08

学员管理示例——班级管理(单表操作)的相关文章

model,单表操作

一. model Django提供了一个抽象层(“Model”)来构建和管理Web应用程序的数据. django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表. 关系对象映射(Object Relational Mapping,简称ORM),  它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动. 二. 单表操作 <一>. 表的创建

Django基础五之django模型层(一)单表操作

目录 一 ORM简介 二 单表操作 一.创建表 创建模型 2 更多字段和参数 3 settings配置 4.自定义字段(了解) 二.添加表纪录 方式1 方式2(用的多) 方式3:批量插入 三.查询表纪录 查询API(都是重点) 基于双下划线的模糊查询 四.删除表纪录 五.修改表纪录 三 章节作业 1 图书管理系统 2 查询操作练习 四 xxx 本节目录 一 ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,

Django开发:(3.1)ORM:单表操作

MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动 ORM是"对象-关系-映射"的简称. Mysql中的表对应python中的类,表的字段对应类的属性,表的记录对应类的实例化的对象 单表操作 创建表 1. 创建模型 创建名为app01的app,在app01下的models.py中创建模型: from dj

Django模型层之单表操作

Django模型层之单表操作 一 .ORM简介 我们在使用Django框架开发web应用的过程中,不可避免地会涉及到数据的管理操作(如增.删.改.查),而一旦谈到数据的管理操作,就需要用到数据库管理软件,例如mysql.oracle.Microsoft SQL Server等. 如果应用程序需要操作数据(比如将用户注册信息永久存放起来),那么我们需要在应用程序中编写原生sql语句,然后使用pymysql模块远程操作mysql数据库,详见图一^①^ 但是直接编写原生sql语句会存在两方面的问题,严

查询语句 select [单表操作]

---SQL单表简单查询1.单表操作&别名的使用 1 --查询表的所有数据:select * from 表名;通配符*代表所有 2 select * from emp; 1 --查询表中指定字段的值:select 字段名1,字段名2,... from 表名; 2 select empno,ename,job,sal,hiredate,comm from emp; 1 --查询结果中的字段使用别名:作用[方便查看查询结果] 2 --在字段名后使用关键字 字段名 as "别名" 3

Django框架05 /orm单表操作

目录 Django框架05 /orm单表操作 昨日内容回顾 今日内容 orm单表操作 对象关系映射(object relational mapping) 1.orm介绍 2.增: 3.时间问题 4.删 5.改 6.批量插入 -- bulk_create 7.查询api 8.基于双下划线的模糊查询 -- filter双下划线查询 9.总结 总结1 总结2 Django框架05 /orm单表操作 昨日内容回顾 模板相关 模板继承(母版继承) 1. 创建一个xx.html页面(作为母版,其他页面来继承

学习MySQL之单表操作(二)

##单表操作 ##创建表 CREATE TABLE t_employee( empno INT(11), ename VARCHAR(20), job VARCHAR(40), MGR INT(11), Hiredate DATE DEFAULT '0000-00-00', sal DOUBLE(10,2), comm DOUBLE(10,2), deptno INT(11), UNIQUE INDEX uk_empno(empno) ##使用唯一索引 ); ##增 INSERT INTO t_

09-hibernate单表操作(1)

1,单一主键 2,基本类型 3,对象类型 4,组件属性 5,单表操作 单一主键 常用生成策略: assigned 有程序员生成(手工) native 由数据库底层,如果是mysql是increment,如果是Oracle是sequence. 测试assigned :代码手动给他赋值,不给ID赋值 import java.util.Date; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.

八:SQL之DQL数据查询语言单表操作

前言: DQL数据库查询语言是我们在开发中最常使用的SQL,这一章总结了单表操作部分的常用查询方式 主要操作有:查询所有字段.查询指定字段.查询指定记录.带IN的关键字查询,范围查询,陪查询.查询空值 带AND的多条件查询.带OR的多条件查询,关键字DISTINCT,查询结果排序,分组查询.分页查询等 准备好数据测试表 1 mysql> select * from student; 2 +------+----------+-------+----------+-------------+ 3