1-Django开端--学生管理系统

2024-05-27 02:44

本文主要是介绍1-Django开端--学生管理系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

项目结构

前端页面:

add_data.html

class_data.html

index.html

apps.py

models.py

views.py

settings,py

urls.py


...实现简略的身架...

项目结构

前端页面:

add_data.html

--添加数据.

{% extends 'index/index.html' %}{% block content %}
<div class="container"><form method="post">{% csrf_token %}<div class="form-group"><label for="exampleInputEmail1">添加班级</label><input type="text" class="form-control" id="exampleInputEmail1" name="grade"><button type="submit" class="btn btn-success">提交</button></div></form></div>
{% endblock %}

class_data.html

{% extends 'index/index.html' %}{% block css %}<style>h1 {color: red;}</style>
{% endblock %}{% block content %}<div class="container">{# 班级表 #}<div class="col-xs-3"><div style="margin-bottom: 10px"><button class="btn btn-success"><a href="/add/data/">添加信息</a></button></div><div class="panel panel-warning"><div class="panel-heading"><h3 class="panel-title">班级表</h3></div><div class="panel-body"><table class="table"><thead><tr><th>id</th><th>班级</th><th>操作</th></tr></thead><tbody>{% for data in data_list %}<tr><th>{{ data.id }}</th><td>{{ data.grade }}</td><td><a href="#">修改</a><a href="#">删除</a></td></tr>{% endfor %}</tbody></table></div></div></div>{# 学员表 #}<div class="col-xs-9"></div></div>{% endblock %}{% block js %}{% endblock %}


index.html

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>首页</title><link rel="stylesheet" href="{% static 'css/bootstrap.css' %}">{% block css %}{% endblock %}<style>#threeD{font-size:20px; /*设置字体大小*/font-weight:800; /*设置字体粗细*/text-shadow:1px 0px #5c0099, 1px 2px #006615, 3px 1px #009916,2px 3px #006615, 4px 2px #990054, 4px 4px #006615,5px 3px #009916, 5px 5px #006615, 7px 4px #009916,6px 6px #006615, 8px 5px #009975, 7px 7px #006615,9px 6px #009916, 9px 8px #006615, 11px 7px #009916/*设置文字阴影*/}</style>
</head>
<body>
{#水平导航栏#}
<div class="navbar navbar-default"><div class="container"><!-- Brand and toggle get grouped for better mobile display --><div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse"data-target="#bs-example-navbar-collapse-1" aria-expanded="false"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a id="threeD" class="navbar-brand" href="/">卡塞尔学院</a></div><!-- Collect the nav links, forms, and other content for toggling --><div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"><ul class="nav navbar-nav"><li><a href="/class/data/">学生信息</a></li><li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"aria-expanded="false">校园风光 <span class="caret"></span></a><ul class="dropdown-menu"><li><a href="#">Action</a></li><li><a href="#">Another action</a></li><li><a href="#">Something else here</a></li><li role="separator" class="divider"></li><li><a href="#">Separated link</a></li><li role="separator" class="divider"></li><li><a href="#">One more separated link</a></li></ul></li></ul><ul class="nav navbar-nav navbar-right">{# <li><a href="#">Link</a></li>#}<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"aria-expanded="false">Sakura <span class="caret"></span></a><ul class="dropdown-menu"><li><a href="#">Action</a></li><li><a href="#">Another action</a></li><li><a href="#">Something else here</a></li><li role="separator" class="divider"></li><li><a href="#">退出登录</a></li></ul></li></ul></div><!-- /.navbar-collapse --></div><!-- /.container-fluid -->
</div>{% block content %}
{% endblock %}<script src="{% static 'js/jquery-3.7.1.js' %}"></script>
<script src="{% static 'js/bootstrap.js' %}"></script>
{% block js %}
{% endblock %}
</body>
</html>


apps.py

from django.apps import AppConfigclass DemoOneConfig(AppConfig):default_auto_field = 'django.db.models.BigAutoField'name = 'demo_one'

--注册的app.


models.py

from django.db import models# Create your models here.class Grade(models.Model):grade = models.CharField(verbose_name="年级班级", max_length=12)# class_ = models.CharField(verbose_name="班级", max_length=12)class Student(models.Model):name = models.CharField(verbose_name="姓名", max_length=64)age = models.IntegerField(verbose_name="年龄")gender_choice = ((1, "男"),(2, "女"))gender = models.SmallIntegerField(verbose_name="性别", choices=gender_choice)tel = models.IntegerField(verbose_name="电话")stu_id = models.IntegerField(verbose_name="学号")# 外键约束stu_grade = models.ForeignKey(to="Grade", to_field="id", null=True, blank=True, on_delete=models.SET_NULL)

--数据库的字段.


views.py

from django.shortcuts import render, redirect
from demo_one import models# Create your views here.
def index(request):return render(request, "index/index.html")# 展示班级以及学员
def class_data(request):data_list = models.Grade.objects.all()content = {"data_list": data_list}return render(request, "class_data/class_data.html", content)def add_data(request):if request.method == "GET":return render(request, "class_data/add_data.html")grade = request.POST.get("grade")models.Grade.objects.create(grade=grade)return redirect("/class/data/")

--app的视图函数.


settings,py


urls.py

--路由映射


 注册/配置 等不会的看前面的文章~


笔记:

1、Django项目开端

  • jquery之家:http://www.htmleaf.com/

1.1 班级学生表

  • 班级表
    年级班级
    一年级一班
    二年级一班
  • 学生表
    姓名年龄性别电话学号年级班级
    张三..
    李四..
    王五..
  • 表创建
    学生表关联班级表班级表删除信息1、学生跟着删除     CASCADE2、学生班级信息置空 SET_NULL外键约束to:当前字段关联的表to_field:根据主键关联on_delete:删除班级后,当前字段是删除(CASCADE)还是置空(SET_NULL)stu_grade = models.ForeignKey(to="Grade", to_field="id", on_delete=models.SET_NULL)
    性别1:男2:女
    from django.db import models
    ​
    ​
    # Create your models here.
    ​
    class Grade(models.Model):grade = models.CharField(verbose_name="年级班级", max_length=12)# class_ = models.CharField(verbose_name="班级", max_length=12)
    ​
    ​
    class Student(models.Model):name = models.CharField(verbose_name="姓名", max_length=64)age = models.IntegerField(verbose_name="年龄")gender_choice = ((1, "男"),(2, "女"))gender = models.SmallIntegerField(verbose_name="性别", choices=gender_choice)tel = models.IntegerField(verbose_name="电话")stu_id = models.IntegerField(verbose_name="学号")# 外键约束stu_grade = models.ForeignKey(to="Grade", to_field="id", null=True, blank=True, on_delete=models.SET_NULL)

1.2 模板继承

  • 模板:index.html
    {% load static %}
    <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><title>首页</title><link rel="stylesheet" href="{% static 'css/bootstrap.css' %}"><style>#threeD{font-size:20px; /*设置字体大小*/font-weight:800; /*设置字体粗细*/text-shadow:1px 0px #5c0099, 1px 2px #006615, 3px 1px #009916,2px 3px #006615, 4px 2px #990054, 4px 4px #006615,5px 3px #009916, 5px 5px #006615, 7px 4px #009916,6px 6px #006615, 8px 5px #009975, 7px 7px #006615,9px 6px #009916, 9px 8px #006615, 11px 7px #009916/*设置文字阴影*/}
    ​</style>
    </head>
    <body>
    {#水平导航栏#}
    <div class="navbar navbar-default"><div class="container"><!-- Brand and toggle get grouped for better mobile display --><div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse"data-target="#bs-example-navbar-collapse-1" aria-expanded="false"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a id="threeD" class="navbar-brand" href="/"卡塞尔学院</a></div>
    ​<!-- Collect the nav links, forms, and other content for toggling --><div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"><ul class="nav navbar-nav"><li><a href="#">学生信息</a></li><li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"aria-expanded="false">校园风光 <span class="caret"></span></a><ul class="dropdown-menu"><li><a href="#">Action</a></li><li><a href="#">Another action</a></li><li><a href="#">Something else here</a></li><li role="separator" class="divider"></li><li><a href="#">Separated link</a></li><li role="separator" class="divider"></li><li><a href="#">One more separated link</a></li></ul></li></ul>
    ​<ul class="nav navbar-nav navbar-right">{# <li><a href="#">Link</a></li>#}<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"aria-expanded="false">Sakura <span class="caret"></span></a><ul class="dropdown-menu"><li><a href="#">Action</a></li><li><a href="#">Another action</a></li><li><a href="#">Something else here</a></li><li role="separator" class="divider"></li><li><a href="#">退出登录</a></li></ul></li></ul></div><!-- /.navbar-collapse --></div><!-- /.container-fluid -->
    </div>
    ​
    ​
    <script src="{% static 'js/jquery-3.7.1.js' %}"></script>
    <script src="{% static 'js/bootstrap.js' %}"></script>
    ​
    </body>
    </html>
  • 继承语法
    {% extends 'index/index.html' %}
    ​
    模板当中占位
    {% block content %} 
    {% endblock %}
    ​
    其他文件当中
    {% block content %} 新的内容
    {% endblock %}
    ​
    • class_data.html
      {% extends 'index/index.html' %}
      ​
      添加新的css
      {% block css %}<style>h1 {color: red;}</style>
      {% endblock %}
      ​
      添加内容
      {% block content %}<div class="container"><div class="panel panel-warning"><div class="panel-heading"><h3 class="panel-title">班级表</h3></div><div class="panel-body"><table class="table"><caption>Optional table caption.</caption><thead><tr><th>#</th><th>First Name</th><th>Last Name</th><th>Username</th></tr></thead><tbody><tr><th scope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><th scope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><th scope="row">3</th><td>Larry</td><td>the Bird</td><td>@twitter</td></tr></tbody></table></div></div></div>
      ​
      {% endblock %}
      ​
      添加新的js代码
      {% block js %}
      ​
      {% endblock %}

2、学员班级

2.1 学员班级展示

  • views.py
    def class_data(request):data_list = models.Grade.objects.all()content = {"data_list": data_list}return render(request, "class_data/class_data.html",content)
    ​

2.2 班级信息添加

  • views.py
    def add_data(request):if request.method == "GET":return render(request, "class_data/add_data.html")
    ​grade = request.POST.get("grade")models.Grade.objects.create(grade=grade)return redirect("/class/data/")

 


这篇关于1-Django开端--学生管理系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1006304

相关文章

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、

利用Django框架快速构建Web应用:从零到上线

随着互联网的发展,Web应用的需求日益增长,而Django作为一个高级的Python Web框架,以其强大的功能和灵活的架构,成为了众多开发者的选择。本文将指导你如何从零开始使用Django框架构建一个简单的Web应用,并将其部署到线上,让世界看到你的作品。 Django简介 Django是由Adrian Holovaty和Simon Willison于2005年开发的一个开源框架,旨在简

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验

使用Spring Boot集成Spring Data JPA和单例模式构建库存管理系统

引言 在企业级应用开发中,数据库操作是非常重要的一环。Spring Data JPA提供了一种简化的方式来进行数据库交互,它使得开发者无需编写复杂的JPA代码就可以完成常见的CRUD操作。此外,设计模式如单例模式可以帮助我们更好地管理和控制对象的创建过程,从而提高系统的性能和可维护性。本文将展示如何结合Spring Boot、Spring Data JPA以及单例模式来构建一个基本的库存管理系统

【干货分享】基于SSM的体育场管理系统的开题报告(附源码下载地址)

中秋送好礼 中秋佳节将至,祝福大家中秋快乐,阖家幸福。本期免费分享毕业设计作品:《基于SSM的体育场管理系统》。 基于SSM的体育场管理系统的开题报告 一、课题背景与意义 随着全民健身理念的深入人心,体育场已成为广大师生和社区居民进行体育锻炼的重要场所。然而,传统的体育场管理方式存在诸多问题,如资源分配不均、预约流程繁琐、数据统计不准确等,严重影响了体育场的使用效率和用户体验。

华为OD机试真题-学生方阵-2024年OD统一考试(E卷)

题目描述 学校组织活动,将学生排成一个矩形方阵。 请在矩形方阵中找到最大的位置相连的男生数量。这个相连位置在一个直线上,方向可以是水平的,垂直的,成对角线的或者呈反对角线的。 注:学生个数不会超过10000 输入描述 输入的第一行为矩阵的行数和列数, 接下来的 n行为矩阵元素,元素间用""分隔。 输出描述 输出一个整数,表示矩阵中最长的位

基于SSM+Vue+MySQL的可视化高校公寓管理系统

系统展示 管理员界面 宿管界面 学生界面 系统背景   当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的大环境让那些止步不前,不接受信息改革带来的信息技术的企业随时面临被淘汰,被取代的风险。所以当今,各个行业领域,不管是传统的教育行业

图书管理系统系统分享

分享一个图书管理系统,Java、SpringBoot、Vue和MySQL开发的图书馆管理系统 gitee项目地址:https://gitee.com/yuanmomoya/open-source-project/tree/master/books-management-system GitHub项目地址:https://github.com/yuanmomoya/open-source-pro