Django 练习班级管理系统二 -- 添加班级数据
程序员文章站
2023-08-12 11:42:21
在上一篇中(Django 练习班级管理系统一 https://www.cnblogs.com/klvchen/p/11078174.html),使用的是莫泰对话框的方式提交数据,适用于数据量少的操作。若业务需要数据多,数据量大的操作,可以使用单独页面进行添加,下面是具体例子: 在 classes.h ......
在上一篇中(django 练习班级管理系统一 https://www.cnblogs.com/klvchen/p/11078174.html),使用的是莫泰对话框的方式提交数据,适用于数据量少的操作。若业务需要数据多,数据量大的操作,可以使用单独页面进行添加,下面是具体例子:
在 classes.html 页面下修改 a 标签:
<h1>班级管理</h1> <div> <input id="id_add" type="button" value="添加"> <a href="/add_classes.html">添加</a>
在 urls.py 上添加:
path('add_classes.html', views.handle_add_classes),
在 views.py 上 添加:
@auth def handle_add_classes(request): message = "" if request.method == 'get': return render(request, 'add_classes.html', {'msg': message}) elif request.method == 'post': # 获取 post 提交数据中的 caption 值 caption = request.post.get('caption') if caption: # 值不为空,则在数据库中创建 models.classes.objects.create(caption=caption) else: message = '标题不能为空' return render(request, 'add_classes.html', {'msg': message}) # 添加成功后,返回班级列表 return redirect('/classes.html') else: return redirect('/index.html')
在 templates 文件夹下,添加一个 add_classes.html 页面
{% extends "layout.html" %} {% block css %} {% endblock %} {% block content %} <h1>添加班级</h1> <form action="/add_classes.html" method="post"> <input type="text" name="caption"> <input type="submit" value="提交">{{ msg }} </form> {% endblock %} {% block js %} <script> $(function () { $('#menu_class').addclass('active'); }) </script> {% endblock %}