django学生管理系统搭建
Django实现学生管理系统django学习笔记-学生管理系统(django实现)笔记中仅实现了对数据的全部查询。
下面实现新增、删除、修改,代码如下。
下面的代码没有对输入框内容进行限制,如果输入不符合规则的内容,会出现错误。
本篇更新完毕后django更新暂停一段,由于工作岗位是测试工程师,后面将重点关注测试相关内容。
views.py
|
from django.shortcuts import render,reverse from stusys import models from django.http import httpresponseredirect def stuinfo(request): stuinfo_list_obj = models.stuinfo.objects. all () return render(request, 'info.html' ,{ 'stuinfo_list' :stuinfo_list_obj}) def add_stuinfo(request): if request.method = = "post" : id = request.post[ 'id' ] name = request.post[ 'name' ] math = request.post[ 'math' ] chinese = request.post[ 'chinese' ] english = request.post[ 'english' ] total = float (math) + float (chinese) + float (english) models.stuinfo.objects.create( id = id ,name = name,math = math,chinese = chinese,english = english,total = total) return httpresponseredirect(reverse( 'stuinfo' )) elif request.method = = "get" : return render(request, 'add.html' ) def del_stuinfo(request): id = request.get.get( 'id' ) models.stuinfo.objects. filter ( id = id ).delete() return httpresponseredirect(reverse( 'stuinfo' )) def mod_stuinfo(request): if request.method = = 'get' : id = request.get.get( 'id' ) stu_detail = models.stuinfo.objects.get( id = id ) context = { 'stu_detail' :stu_detail} return render(request, 'mod.html' ,context = context) if request.method = = "post" : id = request.post[ 'id' ] name = request.post[ 'name' ] math = request.post[ 'math' ] chinese = request.post[ 'chinese' ] english = request.post[ 'english' ] total = float (math) + float (chinese) + float (english) models.stuinfo.objects. filter ( id = id ).update(name = name,math = math,chinese = chinese,english = english,total = total) return httpresponseredirect(reverse( 'stuinfo' )) |
urls.py
|
from django.contrib import admin from django.urls import path from stusys import views urlpatterns = [ path( 'admin/' , admin.site.urls), path(' ',views.stuinfo,name=' stuinfo'), path( 'add/' ,views.add_stuinfo,name = 'add_stuinfo' ), path( 'del/' ,views.del_stuinfo,name = 'del_stuinfo' ), path( 'mod/' ,views.mod_stuinfo,name = 'mod_stuinfo' ) ] |
templates
base.html
|
{ % load static % } <!doctype html> <html lang = "en" > <head> <meta charset = "utf-8" > <title>学生成绩管理系统< / title> <link rel = "stylesheet" href = "{% static 'nav.css' %}" rel = "external nofollow" > <link rel = "stylesheet" href = "{% static 'table.css' %}" rel = "external nofollow" > < / head> <body> <ul class = "nav" > <li><a href = "{% url 'stuinfo' %} " rel = "external nofollow" >首页< / a>< / li> <li><a href = "{% url 'add_stuinfo' %} " rel = "external nofollow" >添加< / a>< / li> < / ul> <li style = "padding:20px;margin-top:30px;background-color:#1abc9c;height:1500px;" > { % block content % } { % endblock % } < / li> < / body> < / html> |
add.html
|
{ % extends 'base.html' % } { % block content % } <li> <form action = "{% url 'add_stuinfo' %}" method = "post" > { % csrf_token % } <table class = "table" style = "border-style:none;width: 50%" > <tr> <td style = "border-style:none" >学 号:< / td> <td style = "border-style:none" >< input name = "id" >< / td> < / tr> <tr> <td style = "border-style:none" >姓 名:< / td> <td style = "border-style:none" >< input name = "name" >< / td> < / tr> <tr> <td style = "border-style:none" >数学成绩:< / td> <td style = "border-style:none" >< input name = "math" >< / td> < / tr> <tr> <td style = "border-style:none" >语文成绩:< / td> <td style = "border-style:none" >< input name = "chinese" >< / td> < / tr> <tr> <td style = "border-style:none" >英语成绩:< / td> <td style = "border-style:none" >< input name = "english" >< / td> < / tr> <tr> <td colspan = "2" style = "border-style:none" >< input type = "submit" value = "添加" style = "width:100px;height:40px;" >< / td> < / tr> < / table> < / form> < / li> { % endblock % } |
info.html
|
{ % extends 'base.html' % } { % block content % } <table class = "table" > <thead> <tr > <td >学号< / td> <td >姓名< / td> <td >数学< / td> <td >语文< / td> <td >英文< / td> <td >总分< / td> <td colspan = "2" > < / td> < / tr> < / thead> <tbody> { % for stuinfo in stuinfo_list % } <tr > <td >{{ stuinfo. id }}< / td> <td >{{ stuinfo.name }}< / td> <td >{{ stuinfo.math}}< / td> <td >{{ stuinfo.chinese }}< / td> <td >{{ stuinfo.english }}< / td> <td >{{ stuinfo.total }}< / td> <td ><a href = "{% url 'del_stuinfo' %}?id={{ stuinfo.id}}" rel = "external nofollow" >删除< / a>< / td> <td ><a href = "{% url 'mod_stuinfo' %}?id={{ stuinfo.id}}" rel = "external nofollow" >修改< / a>< / td> < / tr> { % endfor % } < / tbody> < / table> { % endblock % } |
mod.html
|
{ % extends 'base.html' % } { % block content % } { # <form action ="{% url 'mod_stuinfo' %}" method="post">#} { # {% csrf_token %}#} { # #} { # <p>学 号:<input name="id" type="text" value="{{ stu_detail.id}}" readonly="readonly" ></p>#} { # <p>姓 名:<input name="name" type="text" value="{{ stu_detail.name}}"></p>#} { # <p>数学成绩:<input name="math" type="text" value="{{ stu_detail.math}}"></p>#} { # <p>语文成绩:<input name="chinese" type="text" value="{{ stu_detail.chinese}}"></p>#} { # <p>英语成绩:<input name="english" type="text" value="{{ stu_detail.english}}"></p>#} { # <p><input type="submit" value="修改"></p>#} { # </form>#} <form action = "{% url 'mod_stuinfo' %}" method = "post" > { % csrf_token % } <table class = "table" style = "border-style:none;width: 50%" > <tr> <td style = "border-style:none" >学 号:< / td> <td style = "border-style:none" >< input name = "id" type = "text" value = "{{ stu_detail.id}}" readonly = "readonly" disabled = "disabled" >< / td> < / tr> <tr> <td style = "border-style:none" >姓 名:< / td> <td style = "border-style:none" >< input name = "name" type = "text" value = "{{ stu_detail.name}}" >< / td> < / tr> <tr> <td style = "border-style:none" >数学成绩:< / td> <td style = "border-style:none" >< input name = "math" type = "text" value = "{{ stu_detail.math}}" >< / td> < / tr> <tr> <td style = "border-style:none" >语文成绩:< / td> <td style = "border-style:none" >< input name = "chinese" type = "text" value = "{{ stu_detail.chinese}}" >< / td> < / tr> <tr> <td style = "border-style:none" >英语成绩:< / td> <td style = "border-style:none" >< input name = "english" type = "text" value = "{{ stu_detail.english}}" >< / td> < / tr> <tr> <td colspan = "2" style = "border-style:none" >< input type = "submit" value = "修改" style = "width:100px;height:40px;" >< / td> < / tr> < / table> < / form> { % endblock % } |
静态资源文件:
nav.css
|
* { margin: 0 ; padding: 0 ; } .nav{ list - style - type : none; margin: 0 ; padding: 0 ; overflow: hidden; background - color: #333; position: fixed; top: 0 ; width: 100 % ; } .nav li{ float : left; } .nav li a { display: block; color: white; text - align: center; padding: 14px 16px ; text - decoration: none; } .nav li a:hover: not (.active) { background - color: #111; } .active { background - color: #4caf50; } |
table.css
|
.table{ margin - top: 50px ;width: 100 % ;border:solid #add9c0; border-width:1px 0px 0px 1px;} .table tr td { border:solid #add9c0; border-width:0px 1px 1px 0px; padding:10px 0px;font-size:18px;align:center;} .table tr td input { width: 250px ; height: 30px ;font - size: 18px } |
实现效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/yaoliuwei1426/article/details/82854539