学员管理示例——班级管理(单表操作)(代码片段)

lujun1028 lujun1028     2022-12-28     143

关键词:

一、新建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路由请求

 

 











orm版学员管理系统3(代码片段)

老师信息管理思考三种方式创建多对多外键方式及其优缺点。通过外键创建classClass(models.Model):id=models.AutoField(primary_key=True)#主键cname=models.CharField(max_length=32)#班级名称first_day=models.DateField()#开班时间classTeacher(models.Model): 查看详情

学员管理系统

...windows或者Linux,python3.6,mysql5.7要求:用户角色,讲师\学员,用户登陆后根据角色不同,能做的事情不同,分别如下讲师视图  管理班级,可创建班级,根据学员qq号把学员加入班级  可创建指定班级的上课纪录,注意一... 查看详情

选课系统(代码片段)

角色:学校、学员、课程、讲师要求:1.创建北京、上海2所学校2.创建linux,python,go3个课程,linux\py在北京开,go在上海开3.课程包含,周期,价格,通过学校创建课程4.通过学校创建班级,班级关联课程、讲师5.创建学员时,选择学校... 查看详情

python3开发进阶-django框架学习前的小项目(一个简单的学员管理系统)(代码片段)

‘‘‘自己独立写一个学员管理系统表结构:班级表:-id-grade_name学生表:-id-student_name-grade关联外键班级表老师表:-id-teacher_name-grades(多对多关联班级表)‘‘‘在写小项目之前我们先复习一下小知识:1、form表单提交数据的注意... 查看详情

module05-2-学员管理系统

需求主题:学员管理系统需求:用户角色,讲师\学员,用户登陆后根据角色不同,能做的事情不同,分别如下讲师视图  管理班级,可创建班级,根据学员qq号把学员加入班级  可创建指定班级的上课纪录,注意一节上课... 查看详情

orm版学员管理系统3(代码片段)

老师信息管理思考三种方式创建多对多外键方式及其优缺点。通过外键创建classClass(models.Model):id=models.AutoField(primary_key=True)#主键cname=models.CharField(max_length=32)#班级名称first_day=models.DateField()#开班时间classTeacher(models.Model):tname=models.C... 查看详情

orm版学员管理系统

 ORM版学员管理系统班级表表结构classClass(models.Model):id=models.AutoField(primary_key=True)#主键cname=models.CharField(max_length=32)#班级名称first_day=models.DateField()#开班时间查询班级URL部分:url(r‘^class_list/$‘,views.c 查看详情

选课系统开发(代码片段)

题目:选课系统开发,要求有四种角色:学校、学员、课程、讲师详细要求:1.创建北京、上海2所学校2.创建linux,python,go3个课程,linux\py在北京开,go在上海开3.课程包含,周期,价格,通过学校创建课程4.通过学校创建班级,班级... 查看详情

学员管理系统(面向对象版)(代码片段)

面向对象版-学员管理系统目标一.系统需求二.准备程序文件2.1分析2.2创建程序文件三.书写程序3.1student.py3.1.2程序代码3.2managerSystem.py3.2.1定义类3.2.2管理系统框架3.3main.py3.4定义系统功能函数3.4.1添加功能3.4.2删除学员3.4.3修改学员... 查看详情

面向对象作业——校园管理系统

角色:学校、学员、课程、讲师要求:1.创建北京、上海2所学校2.创建linux,python,go3个课程,linuxpy在北京开,go在上海开3.课程包含,周期,价格,通过学校创建课程4.通过学校创建班级,班级关联课程、讲师5.创建学员时,选择学校... 查看详情

学员管理系统0x03老师信息管理功能

【学员管理系统】0x03老师信息管理功能老师信息管理相比于学生信息管理又多了一点,因为我们的数据结构中老师表和班级表是通过teacher2class表进行多对多关联的。写在前面项目详细需求参见:Django项目之【学员管理系统】展... 查看详情

[terry笔记]学校管理系统

如下是要求:#角色:学校、学员、课程、讲师#要求:#1.创建北京、上海2所学校#2.创建linux,python,go3个课程,linuxpy在北京开,go在上海开#3.课程包含,周期,价格,通过学校创建课程#4.通过学校创建班级,班级关联课程、讲师#5.创建... 查看详情

orm查询(代码片段)

ORM版学员管理系统班级表表结构classClass(models.Model):id=models.AutoField(primary_key=True)#主键cname=models.CharField(max_length=32)#班级名称first_day=models.DateField()#开班时间查询班级URL部分:url(r‘^class_list/$‘,views.class_l 查看详情

orm版学员管理系统2(代码片段)

学生信息管理展示学生信息URL部分url(r‘^student_list/‘,app01_views.student_list,name="student_list"),视图部分defstudent_list(request):student_list=models.Student.objects.all()returnrender(request,"student_list.html","st 查看详情

制作学生信息管理系统(代码片段)

...需求:进入系统显示系统功能界面,功能如下:1、添加学员2、删除学员3、修改学员信息4、查询学员信息5、显示所有学员信息6、退出系统系统共6个功能,用户根据自己需求选取。2.步骤分析显示功能界面用户输入功能序号根据... 查看详情

python基础(十八):学员管理系统应用(代码片段)

文章目录学员管理系统应用一、系统简介二、步骤分析三、需求实现1、显示功能界面2、用户输入序号,选择功能3、根据用户选择,执行不同的功能4、定义不同功能的函数学员管理系统应用一、系统简介需求:进入... 查看详情

学员管理系统0x04数据库连接优化

【学员管理系统】0x04 pymysql数据库连接优化写在前面项目详细需求参见:Django项目之【学员管理系统】优化实现把操作封装成函数我们之前使用pymysql操作数据库的操作都是写死在视图函数中的,并且很多都是重复的代码。我... 查看详情

第五篇练习登录查看一个班级的学员(代码片段)

需求1.用户名:oldboy密码:oldboy1232.用户登录成功之后跳转到列表页面3.失败有消息提示,重新登录4.点击学生名称之后,可以看到学生的详细信息后端:fromflaskimportFlaskfromflaskimportrequestfromflaskimportrender_templatefromflaskimportredirectUSER=‘usern... 查看详情