Python-Django 项目模块-年级模块开发-修改(九)

Python-Django 项目模块-年级模块开发-修改(九)

原创

口袋里的小龙©著作权

文章标签 大数据 django python bootstrap ico 文章分类 Python 后端开发

©著作权归作者所有:来自51CTO博客作者口袋里的小龙的原创作品,请联系作者获取转载授权,否则将追究法律责任

Python-django 自定义模块开发

第四章 Django 自定义模块-年级模块年纪信息修改

前言

这一系列文章是通过一个简单的学校项目进行演示的,项目中遇到的问题将一一记录下来,仅供参考。

[En]

This series of articles is demonstrated by a simple school project, and the problems encountered in the project will be recorded one by one for reference only.

此处学习版本 python3.8 django 4.0.6 bootstrap3 开发工具 VSCODE

一、创建静态页面-年级修改页面

{% load i18n static %}

<html>

<head>
<title>年级管理-修改title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />


<link rel="stylesheet" href="{% static 'bootstrap-3.4.1/css/bootstrap.min.css' %}" />


<link rel="stylesheet" href="{% static 'bootstrap-3.4.1/css/bootstrap-theme.min.css' %}" />
<script src="{% static 'js/jquery-3.2.1/jquery.min.js' %}">script>
<script src="{% static 'js/popper-1.15.0/umd/popper.min.js' %}">script>

<script src="{% static 'bootstrap-3.4.1/js/bootstrap.min.js' %}">script>





<style type="text/css">


style>
head>

<body>
<div class="container-fluid">

<div class="row">

<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container-fluid">

<div class="navbar-header">

<a class="navbar-brand" href="#" style="padding-top:5px;">
<img alt="Brand" src="{% static 'images/ico.png' %}" />
a>
<a class="navbar-brand" href="#">陕西家里蹲大学师生信息管理系统a>
div>

<div>
<ul class="nav navbar-nav" id="ul_menu_top">
<li><a href="{% url 'school_web_grade:gradeIndex' pageIndex=1 %}">年级管理a>li>
<li><a href="#">学科管理a>li>
<li><a href="#">老师管理a>li>
<li><a href="#">班级管理a>li>
<li><a href="#">学生管理a>li>
ul>
div>

<ul class="nav navbar-nav navbar-right">
<li><a href="#"><span class="glyphicon glyphicon-user">span> 注册a>li>
<li><a href="#"><span class="glyphicon glyphicon-log-in">span> 登录a>li>
<li>
<a href="javascript:void(0)" onclick="openModalWindow()"><span
class="glyphicon glyphicon-off">span> 退出a>
li>
ul>
div>
nav>

div>

<div class="row" style="padding-top: 50px;padding-bottom: 50px;">

<div class="panel panel-info ">
<div class="panel-heading"><span class="glyphicon glyphicon-pencil">span>年级管理-修改数据div>
<div class="panel-body">
{% block content %}
<form class="form-horizontal" id="gradeForm" name="gradeForm"
action="{% url 'school_web_grade:saveGradeEdit' schoolGrade.grade_id %}" method="post">
{% csrf_token %}
<div class="form-group">
<label for="grade_name" class="col-sm-2 control-label">年级名称:label>
<div class="col-sm-10">
<input type="text" class="form-control" name="grade_name" id="grade_name"
placeholder="请输入年级名称" value="{{ schoolGrade.grade_name }}" />
div>
div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-success">保存button>
div>
div>
form>
<div class="row" >
<div class="col-md-6 col-md-offset-3">

{% if result == 1 %}
<div class="alert alert-success alert-dismissible" role="alert" >
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×span>
button>
<strong>提示:strong> 修改成功!
div>
{% elif result <= 0 %}

<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×span>
button>
<strong>提示:strong> 修改失败!
div>
{% endif %}
div>
div>

{% endblock %}
div>
div>

div>
<div class="row navbar navbar-default navbar-fixed-bottom" style="text-align: center; height: 40px;">
<div class="bg-success" style="height: 100% ;padding-top: 15px;">
版权所有@copyRight 2013-2022 口袋里的小龙 开发框架 python3.8 bootstrap-3 Django4
div>
div>



div>
<script type="text/javascript">
$(document).ready(function () {
// 在这里写你的代码...
$('#showDetail').modal('hide')
//菜单点击事件
$("#ul_menu_top li").click(function () {
//清除样式
$("#ul_menu_top li").removeClass("active");
//设置选中颜色
$(this).addClass("active");
console.log($(this));
});

// hide 方法调用之后立即触发该事件。
$('#modalWindowDiv').on('hidden.bs.modal', function (e) {
// do something...
console.log("hide 方法调用之后立即触发该事件。");
});
//从远端的数据源加载完数据之后触发该事件
$('#modalWindowDiv').on('loaded.bs.modal', function (e) {
// do something...
console.log("从远端的数据源加载完数据之后触发该事件");
});
//show 方法调用之后立即触发该事件。如果是通过点击某个作为触发器的元素,则此元素可以通过事件的 relatedTarget 属性进行访问。
$('#modalWindowDiv').on('show.bs.modal', function (e) {
// do something...
console.log("show 方法调用之后立即触发该事件");
});
//此事件在模态框已经显示出来(并且同时在 CSS 过渡效果完成)之后被触发。如果是通过点击某个作为触发器的元素,则此元素可以通过事件的 relatedTarget 属性进行访问。
$('#modalWindowDiv').on('shown.bs.modal', function (e) {
// do something...
console.log("此事件在模态框已经显示出来(并且同时在 CSS 过渡效果完成)之后被触发");
});

});

/**
* 模态窗口打开的方法
*/
function openModalWindow() {
//打开模态窗口的方法 手动打开模态框。在模态框显示之前返回到主调函数中
$('#modalWindowDiv').modal('show');

//手动隐藏模态框。在模态框隐藏之前返回到主调函数中
// $('#modalWindowDiv').modal('hide')
}

script>
body>

html>

在年级主页【修改】按钮中增加访问url

<button type="button" class="btn btn-warning btn-xs" data-url="{% url 'school_web_grade:loadGradeEdit' grade.grade_id %}" onclick="editGrade(this)" >
<span class="glyphicon glyphicon-pencil">span>修改
button>

对应的方法

//修改        function editGrade(_this) {            console.log($(_this).attr("data-url"));            var url = $(_this).attr("data-url");            window.open(url);        }

二、后端代码编写

views.py

## 修改def loadGradeEdit(request,grade_id):    schoolGrade = SchoolGrade.objects.get(grade_id=grade_id)    context = {"schoolGrade":schoolGrade}    return render(request=request,template_name="grade/grade_edit.html",context=context)## 修改保存数据def saveGradeEdit(request,grade_id):    ## 如果 get() 没有找到任何对象,它会引发一个 Model.DoesNotExist 异常: 多个数据  Model.MultipleObjectsReturned 异常     schoolGrade = SchoolGrade.objects.get(grade_id=grade_id)     ## 定义修改状态     result = -1     ## 判断是否为post请求     if request.method == "POST":        ## 获取数据的方法        grade_name = request.POST.get("grade_name")        ## 修改时间        grade_update_date = datetime.datetime.now()        result = SchoolGrade.objects.filter(grade_id=grade_id).update(grade_name=grade_name,grade_update_date=grade_update_date)        print("数据修改结果:",result)        if result > 0:            schoolGrade.grade_name = grade_name            context = {"schoolGrade":schoolGrade,"result":result}        return render(request=request,template_name="grade/grade_edit.html",context=context)     context = {"schoolGrade":schoolGrade,"result":result}     return render(request=request,template_name="grade/grade_edit.html",context=context)

urls.py

## 修改界面    path(route="loadGradeEdit//",view=views.loadGradeEdit,name="loadGradeEdit"),    ## 保存修改内容    path(route="saveGradeEdit//",view=views.saveGradeEdit,name="saveGradeEdit"),

运行效果

Python-Django 项目模块-年级模块开发-修改(九)

Python-Django 项目模块-年级模块开发-修改(九)
  • 收藏
  • 评论
  • *举报

上一篇:python 中单元测试的应用

下一篇:Python-Django 项目模块-年级模块开发(七)

Original: https://blog.51cto.com/u_15446828/5507890
Author: 口袋里的小龙
Title: Python-Django 项目模块-年级模块开发-修改(九)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/513267/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球