python測試開發django-120.bootstrap-table表格添加操作按鈕(查看/修改/刪除)

2022-01-23 從零開始學自動化測試

收錄於話題 #django 107個

前言

在table表格每一項後面添加3個操作按鈕:查看/修改/刪除,實現效果

新增操作項

接著前面這篇https://www.cnblogs.com/yoyoketang/p/15242055.html
在columns最後添加一個操作項,formatter屬性可以幫助我們更加靈活的顯示表格中的內容

# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/

var columns = [
{
checkbox: true,
visible: true //是否顯示複選框
},
{
field: 'id',
title: 'ID'
}, {
field: 'name',
title: '姓名'
}, {
field: 'age',
title: '年齡'
},
{
field: 'tel',
title: '電話'
},
{
field:'ID',
title: '操作',
width: 120,
align: 'center',
valign: 'middle',
formatter: actionFormatter
}
];

主要看最後一項:

接著定義actionFormatter方法

# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/

//操作欄的格式化
function actionFormatter(value, row, index) {
var id = value;
var result = "";
result += '<a href="javascript:;" style="margin:5px" onclick="EditViewById(\'undefined\', view=\'view\')" title="查看">';
result += '<span></span></a>';
result += '<a href="javascript:;" style="margin:5px" onclick="EditViewById(\'undefined\')" title="編輯">';
result += '<span></span></a>';
result += '<a href="javascript:;" style="margin:5px" onclick="DeleteByIds(\'undefined\')" title="刪除">';
result += '<span></span></a>';
return result;
}

按鈕背景色主要是class裡面的屬性控制

btn 白色

btn btn-primary 淺藍色

btn btn-info 深藍色

btn btn-success  綠色

btn btn-danger 紅色

btn btn-warning 黃色

btn btn-inverse  黑色

按鈕之間的間隙通過style=」margin:5px」來調節

頁面顯示效果

完整的前端代碼

<!DOCTYPE html>
<html lang="en">
<head>
{% load static %}
<title>bootstrap-table</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<link rel="stylesheet" type="text/css" href="/static/bootstarp/css/bootstrap.min.css" >
<link rel="stylesheet" type="text/css" href="/static/bootstrap-table/dist/bootstrap-table.min.css" >
<link rel="stylesheet" type="text/css" href="/static/bootstrap-table/dist/bootstrap-table.css" >
<script type="text/javascript" src="/static/bootstarp/jquery/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="/static/bootstarp/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/static/bootstrap-table/dist/bootstrap-table.min.js"></script>
<script type="text/javascript" src="/static/bootstrap-table/dist/locale/bootstrap-table-zh-CN.min.js"></script>

</head>
<body>
<div>
<h1>bootstrapTable實例</h1>
<hr/>

<div id="toolbar">
<button id="btn_add" type="button">
<span aria-hidden="true"></span>新增
</button>
<button id="btn_edit" type="button">
<span aria-hidden="true"></span>修改
</button>
<button id="btn_delete" type="button">
<span aria-hidden="true"></span>刪除
</button>
</div>

<table id="table" data-toolbar="#toolbar"></table>
</div>
</body>
<script>
var url = '/teacher/info';
var columns = [
{
checkbox: true,
visible: true //是否顯示複選框
},
{
field: 'id',
title: 'ID'

}, {
field: 'name',
title: '姓名'
}, {
field: 'age',
title: '年齡',
sortable: true
},
{
field: 'tel',
title: '電話'
},
{
field:'ID',
title: '操作',
width: 120,
align: 'center',
valign: 'middle',
formatter: actionFormatter
}
];
$("#table").bootstrapTable({
toolbar: '#toolbar', //自定義工具按鈕
url: url, //請求後臺的URL(*)
method: 'get', //請求方式(*)
cache: false, //是否使用緩存,默認為true,所以一般情況下需要設置一下這個屬性(*)
pagination: true, //是否顯示分頁(*)
pageSize: 10, //每頁的記錄行數(*)
pageList: [10, 20, 50, 100, 'All'], //可供選擇的每頁的行數(*)
sidePagination: "server", //分頁方式:client客戶端分頁,server服務端分頁(*)
pageNumber: 1, //初始化加載第一頁,默認第一頁
search: true, //是否顯示表格搜索
showColumns: true, //是否顯示所有的列
showRefresh: true, //是否顯示刷新按鈕
minimumCountColumns: 2, //最少允許的列數
//height: 500, //行高,如果沒有設置height屬性,表格自動根據記錄條數決定表格高度
showToggle: true, //是否顯示詳細視圖和列表視圖的切換按鈕
columns: columns, //列參數
//detailView: true, //是否顯示父子表
//得到查詢的參數,會在url後面拼接,如:?rows=5&page=2&sortOrder=asc&search_kw=&_=1564105760651
queryParams: function (params) {
//這裡的鍵的名字和控制器的變量名必須一直,這邊改動,控制器也需要改成一樣的
var temp = {
page: (params.offset / params.limit) + 1, //頁碼, //頁碼
size: params.limit, //頁面大小
//查詢框中的參數傳遞給後臺
//search_kw: $('#search-keyword').val(), // 請求時向服務端傳遞的參數
};
return temp;
}

});
//操作欄的格式化
function actionFormatter(value, row, index) {
var id = value;
var result = "";
result += '<a href="javascript:;" style="margin:5px" onclick="EditViewById(\'undefined\', view=\'view\')" title="查看">';
result += '<span></span></a>';
result += '<a href="javascript:;" style="margin:5px" onclick="EditViewById(\'undefined\')" title="編輯">';
result += '<span></span></a>';
result += '<a href="javascript:;" style="margin:5px" onclick="DeleteByIds(\'undefined\')" title="刪除">';
result += '<span></span></a>';
return result;
}

</script>

2021年第 9 期《python接口web自動化+測試開發》課程,10月17號開學!

加量不加價(新增postman, 贈送selenium和python基礎2個課

本期上課時間:10月17號-1月9號,每周六、周日晚上20:30-22:30

聯繫微信/QQ:283340479

相關焦點

  • python測試開發django-150.ECharts 生成折線圖
    收錄於話題 #django-- 為ECharts準備一個具備大小(寬高)的Dom --> <div id="main" style="width: 600px;height:400px;"></div> <script type="text/javascript"> // 基於準備好的dom,初始化echarts實例
  • Python常用庫大全
    python-nameparser – 把一個人名分解為幾個獨立的部分。 python-user-agents – 瀏覽器 user agent 解析器。 sqlparse – 一個無驗證的 SQL 解析器。 特殊文本格式處理一些用來解析和操作特殊文本格式的庫。通用 tablib – 一個用來處理中表格數據的模塊。
  • 轉載 | 如何使用 python 提取 pdf 表格及文本,並保存到 excel
    目前市場上有很多 pdf 工具,大部分是閱讀類,也有支持對 pdf 的修改、轉換等功能,但這部分工具不少是收費的。pdfplumber 在 github 上有英文官方文檔,後面我們會撿重點講解,先看下如何用 pdfplumber 提取 pdf 表格?
  • Python 單元測試(unittest)的使用小結
    ,具有一定的參考價值,感興趣的小夥伴們可以參考一下測試目錄項目的整體結構可以參考「軟體目錄開發規範」,這裡單說測試目錄。還可以把測試目錄向上移一層,作為一級子目錄,直接創建在項目之下 「Foo/tests」。參考django、scrapy、flask都是這樣的做法。測試函數標題的意思是對函數(def)進行測試,相對於測試類(class)。學習測試,得有要測試的代碼。
  • 如何使用Visual Studio創建Django項目
    >Djangopython一般情況下,我們使用pycharm工具創建python項目,還可以新建django框架項目。下面利用實例說明:操作如下:1、打開Visual Studio工具,點擊文件--->新建--->項目
  • 文職美女上班手動用Excel表格太麻煩,當學會python後easy操作
    通過程序操作excel表格是編程中比較常見的操作,python本身不能直接操作excel,需要安裝第三方的模塊來實現excel的操作。Python中可以操作excel模塊主要有:1、xlrd 模塊實現exlcel表格讀取2、xlwd 模塊實現excel表格創建和寫入3、pandas模塊也可以實現excel常規操作
  • Python Word文檔自動化,朋友圈廣告刷屏學會就月入過萬的教程.
    升級pip(便於安裝最新庫)python -m pip install -U pip setuptoolspython-docx(我們大部分操作都是使用此庫)安裝方法:pip install python-docx
  • Django搭建個人博客:創建APP功能模塊
    app就是項目的基石,因此開發博客的第一步就是創建新的app,用來實現跟文章相關的功能模塊。打開終端:mac$ : cd django_project 文件夾,輸入命令:source env/bin/activate #激活虛擬環境mac$ : (env) C:\django_project> python manage.py startapp article #
  • Django基礎(19): Django Admin管理後臺詳解(上)
    小編我一開始對django自帶的admin其實內心是拒絕的,所以一直拖到今天才寫專文介紹Django的admin。在今天來看,這是小編我本不該犯的錯誤,所以也建議大家千萬不要拒絕使用Django的admin,而是應該學習更好地使用django的admin。Django自帶的admin是快速開發管理後臺的一把利劍,可以大大加快開發速度,也是Django的一個主要優點。
  • 如何在Visual Studio開發工具安裝python庫
    那麼,在Visual Studio開發工具中,如何安裝python第三方庫呢?下面利用實例說明:操作步驟:1、打開Visual Studio 2019開發工具,創建python項目打開開發工具,創建python項目2、在項目滑鼠右鍵,添加新建項,然後選擇空python文件
  • Python 最強編輯器詳細使用指南!
    注意,上圖中的 sleep(0.1) 方法的作用是使其中一個測試變慢,以便按時長對測試進行排序。那麼你可以使用以下箭頭和符號來解決這個問題:看起來很奇怪,我們很難分辨應該刪除哪些更改、保留哪些更改。不要怕,PyCharm 來了!它可以用更好、更簡潔的方法解決衝突。在頂部菜單中前往 VCS,選擇 Git,然後選擇 Resolve conflicts…。選擇存在衝突的文件,點擊 Merge,出現以下窗口:在左側列中,你可以查看自己做的更改。在右側列中,可以查看隊友做的更改。而中間列則顯示結果。
  • Python最強IDE之Pycharm詳細使用指南!
    注意,上圖中的 sleep(0.1) 方法的作用是使其中一個測試變慢,以便按時長對測試進行排序。那麼你可以使用以下箭頭和符號來解決這個問題:看起來很奇怪,我們很難分辨應該刪除哪些更改、保留哪些更改。不要怕,PyCharm 來了!它可以用更好、更簡潔的方法解決衝突。在頂部菜單中前往 VCS,選擇 Git,然後選擇 Resolve conflicts…。選擇存在衝突的文件,點擊 Merge,出現以下窗口:在左側列中,你可以查看自己做的更改。在右側列中,可以查看隊友做的更改。而中間列則顯示結果。
  • 利用Python開發App
    最近想到嘗試用python開發一款app,google搜索了一番後,發現確實有路可尋,目前也有了一些相對成熟的模塊,於是便開始了動手實戰,過程中發現這其中有很多坑,好在最終依靠google解決了,因此小記一番。準備工作利用python開發app需要用到python的一個模塊–kivy,kivy是一個開源的,跨平臺的Python開發框架,用於開發使用創新的應用程式。
  • 不要亂改我的Excel表格,教你設置讓別人只能修改表格中部分區域
    我們在使用Excel表格的時候,經常需要其他部門或別人去協助填充一些數據,可是每次把表格拿回來的時候都會發現他們修改了本來不需要他們修改的地方,那麼如何設置能讓其他人只修改該修改的部分,而不亂動我的部分呢?今天就和大家分享一個小技巧,讓別人無法亂動我的Excel表格。
  • 22 模態框Modal教程(plotly Dash Bootstrap版)
    今天第22課,本節課程主要學習Dash Bootstrap Components中的模態框Modal,類似頁面中常見的對話框,在python
  • Python到底能幹什麼
    如:Gmail、Youtube、知乎、豆瓣 2)自動化運維:自動化處理大量的運維任務3)數據分析師:快速開發快速驗證,分析數據得到結果4)遊戲開發者:一般是作為遊戲腳本內嵌在遊戲中5)自動化測試:編寫為簡單的實現腳本,運用在Selenium/lr中,實現自動化。6)網站開發:藉助django,flask框架自己搭建網站。
  • 如何利用Python開發App?
    說在前面的話python語言雖然很萬能,但用它來開發app還是顯得有點不對路,因此用python開發的app應當是作為編碼練習、或者自娛自樂所用,加上目前這方面的模塊還不是特別成熟,bug比較多,總而言之,勸君莫輕入。
  • 微信商城快速開發框架 - CSDN
    CRMEB 是基於Thinkphp5基礎開發的以會員為中心的電商系統,開源版微信公眾號商城和小程序商城數據同步,帶積分、優惠券、秒殺、砍價、分銷等功能,更是一套方便二次開發的商城框架(後臺封裝了獨有快速創建表單功能,無需寫表單頁面、快速創建數據搜索和數據列表頁、導出表格、系統權限配置控制每一個控制器方法
  • 零基礎學習python GUI編程(PyQt)系列之6:用pandas操作excel
    通過前面的介紹,我們已經了解了對兩個文本文件如何進行比較,今天我們將其換成excel表格文件,對excel文件中的學生成績進行排名。我們都知道,如果直接使用excel表格中的公式對學生的總成績進行排名的話使用的是RANK公式,例如在相應的表格文件中輸入"=RANK(E2,$E$2:$E$1000)「就可以對E列的第二行到第1000行的數據進行排名了。