python web报表_python django框架 渲染和ajax表单提交周报表
一. 实际需求
之前这篇文章kettle-自动生成周报 是使用java开源ETL工具kettle实现,正常情况下是每天写工作完成情况到Excel表,每周五定时任务启动读取Excel日志写入数据库,再读取数据库内容按照公司周报模板生成文件,发邮件,上传到SVN,如果有天遗忘写工作进度,需要数据库插入一条记录.
当通过web页面提交数据,需要做到的功能有哪些?
需要考虑到实现插入新记录,删除记录(测试时候为为了让主键id从1开始 删除默认全部删除),更新某条记录的值,导出excel文件,也就是基本上的增删改查导出操作
二.项目操作
2.1 diango项目新增一个app python manage.py startapp weekreport,其次数据库建一个周报日志表,插入几条数据.
CREATE TABLE `weekreport` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`content` text COMMENT '周报内容',
`create_time` varchar(50) DEFAULT NULL COMMENT '完成时间',
`finished_status` varchar(50) DEFAULT NULL COMMENT '完成情况',
`cooperation` varchar(50) DEFAULT NULL COMMENT '协同部门/人',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.2 其次读取这个表的数据 渲染到页面(依旧没用ORM模型).
有些细节 比如 新增一行 按钮点击以后,需要根据数据库总记录数+1生成一个id,完成时间点击可以弹出当日时间,也可以手动修改时间.总而言之,数据表改变后都需要重载当前表格,导出文件需要导出到指定文件夹,生成的文件和原来kettle生成的一样.
web页面
除了新增一行没有调用接口,纯js生成新的一行记录,其余4个按钮点击时候通过jQuery的ajax请求后台接口.
2.3 前端页面(原谅我low的前端....)
周报
table {
border-spacing: 0;
border-collapse: collapse
}
th {
background-color: #79aec8;
border: 1px #609ab6 solid;
}
周报
序号工作内容完成时间完成情况协同部门/人
{% for data in week_reports_data %}
name="content1">
id='create_time1' name="create_time1">
id='finished_status1' name="finished_status1">
id='cooperation1' name="cooperation1">
{% endfor %}
提交保存
更新周报
删除全部
导出excel
function Addrow() {
var id = "
";
var content = "
";
var create_time = "
";
var finished_status = "
";
var cooperation = "
";
var str_html = id + content + create_time + finished_status + cooperation;
$("#oTable").append(str_html);
}
function get_now_time() {
function p(s) {
return s < 10 ? '0' + s : s;
}
var myDate = new Date();
var year = myDate.getFullYear();
var month = myDate.getMonth() + 1;
var date = myDate.getDate();
var now_time = year + '-' + p(month) + "-" + p(date);
var x = document.getElementById('create_time');
x.value = now_time;
}
$(document).ready(function () {
$("#commit").click(function () {
$.ajax({
type: 'POST',
url: "{% url 'weekreport:add_report' %} ",
data: {
id: $('#id').val(),
content: $('#content').val(),
create_time: $('#create_time').val(),
finished_status: $('#finished_status').val(),
cooperation: $('#cooperation').val(),
csrfmiddlewaretoken: '{{ csrf_token }}'
},
success: function (data) {
alert(data);
window.location.reload();
}
});
});
});
$(document).ready(function () {
$("#update").click(function () {
$.ajax({
type: 'POST',
url: "{% url 'weekreport:update_report' %} ",
data: {
id: $('#id1').val(),
content: $('#content1').val(),
create_time: $('#create_time1').val(),
finished_status: $('#finished_status1').val(),
cooperation: $('#cooperation1').val(),
csrfmiddlewaretoken: '{{ csrf_token }}'
},
success: function (data) {
alert(data);
window.location.reload();
}
});
});
});
$(document).ready(function () {
$("#delete").click(function () {
$.ajax({
type: 'get',
url: "{% url 'weekreport:delete_report' %} ",
success: function (data) {
alert(data);
window.location.reload();
}
});
});
});
$(document).ready(function () {
$("#export_excel").click(function () {
htmlobj = $.ajax({url: "{% url 'weekreport:export_all_excel' %}", async: false});
alert(htmlobj.responseText);
});
});
三.实现
数据库
导出excel文件
excel内容
python web报表_python django框架 渲染和ajax表单提交周报表相关推荐
- Django框架下的form表单提交数据(及文件)获取的方法
目录 一.文件的提交和获取 1.html代码: 2.django代码: 二.文本的提交和获取 html: urls.py: 编辑 views.py: 编辑 结果: 一.文件的提交和获取 一般思路为 ...
- web 表单自定义字段_带有自定义服务器字段验证的AJAX表单提交
web 表单自定义字段 Overview 总览 This article presents a method for validating form data in a PHP script usin ...
- SSM框架下实现form表单提交的方式
实现form表单的提交有多种方式,这里我们主要讲两种常用的. 注:此Demo是在SSM框架下完成的,数据库采用MySQL,关于ssm整合的相关知识,这里不做过多赘述.主要展示表单提交方式,暂不考虑代码 ...
- python 录制web视频_Python django框架 web端视频加密的实例详解
视频加密流程图: 后端获取保利威的视频播放授权token,提供接口api给前端 参考文档:http://dev.polyv.net/2019/videoproduct/v-api/v-api-play ...
- python动态映射_Python Django框架url反向解析实现动态生成对应的url链接示例
本文实例讲述了Python Django框架url反向解析实现动态生成对应的url链接.分享给大家供大家参考,具体如下: url反向解析:根据url路由规则,动态生成对应的url链接 (防止硬编码). ...
- Django实现用户注册登录,表单提交后跳转网页(学习笔记)
效果图如下: 1.新建项目和APP 使用命令提示符,进入想存放项目的目录: //新建项目coco django-admin startproject coco //新建app python manag ...
- Python Web前后端分离框架Django+Vue搭建
Python Web前后端分离框架Django+Vue搭建 对前面所学知识的归纳整理,感兴趣的可以看看,欢迎指正. 一.前后端分离框架介绍 本项目基于 Python 的 Web 框架开发,采用前后端分 ...
- python web项目(django+Layui+mysql)
python web项目(django--+Layui+mysql) 1.结果图 2目录结构 3.开干 4.总结 为了完成期末作业,做的一个学生成绩管理系统,采用django+Layui+mysql5 ...
- Windows上python开发--2安装django框架
Windows上python开发--2安装django框架 分类: 服务器后台开发2014-05-17 21:22 2310人阅读 评论(2) 收藏 举报 python django 上一篇文章中讲了 ...
最新文章
- 一个小程序看流的读取
- Egret开发HTML5小游戏代码分享
- java金额格式化 .00_Java中金额的格式化###,###.00
- 大话存储系列21——存储系统内部IO 上
- 单变量求解C语言,二分法求解单变量非线性方程及其应用与实现.doc
- 数据结构-栈操作-用链表实现栈基本操作
- HP笔记本电脑如何设置屏幕亮度
- git创建本地ssh密匙
- 让样本不一样重要-A Dual Weighting Label Assignment Scheme for Object Detection
- 100天带你系统入门VR/AR游戏开发,成为5G时代的“头号玩家”
- 简单易懂的并查集算法以及并查集实战演练
- 【UE4 C++】实现发出伤害与接收伤害
- 【160】VS2022调试通过海康摄像头烟火识别SDK
- 哦耶OYE-0001 OpenWrt路由器折腾记(by quqi99)
- deb 中标麒麟_中标麒麟6安装google chrome浏览器遇到的问题及解决
- 最优化方法期末考试复习
- HCIE 面试 ----- 组播
- Mathorcup数学建模竞赛第五届-【妈妈杯】B题:朋友关系网络(附一等奖获奖论文和matlab代码)
- adb命令行安装和卸载apk包到真机
- 【Python | 杂代码】爬虫,从基础到进阶(一)
热门文章
- Go 存储基础 — 内存结构体怎么写入文件?
- 成立一年,openEuler为开源带来哪些改变
- Kubernetes 弃用 Docker !
- 解析 PowerJob 的序列化方案
- 华为今年不会推出运行鸿蒙OS的手机;Deno 1.3.2发布|极客头条
- 倒计时2天 | AI开发者大会完整议程揭秘!与百名大咖玩转人工智能
- 开玩笑呢?学习KMP算法能改变自我认知? | 原力计划
- Google Wave 的失败给现代实时协作办公的一个重大教训!
- 微信支付宝关闭三星Galaxy指纹支付;乐视网回应贾跃亭破产;Chrome 78发布|极客头条...
- 60 岁的人工智能,会是“人类历史最后的事件”吗?