欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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 %}

Django 练习班级管理系统二 -- 添加班级数据