关键词:
一、新建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... 查看详情