成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

django Layui界面點擊彈出對話框并請求邏輯生成分頁的動態表格實例

瀏覽:331日期:2024-10-08 14:34:25

1、首先,界面上有個按鈕觸發操作:

<button type='button' id='user_list'>用戶列表</button>

2、點擊這個按鈕觸發之后,會彈出一個對話框并請求view,從數據庫中得到數據并產生動態表格,

其中script代碼如下:

<script> layui.use([’table’], function () { var table = layui.table $('#user_list').click(function(){ layer.open({ type: 1, title: ’用戶信息’, area: [’800px’, ’600px’], //寬高 content: ’<div class='layui-card-header'><div class='layui-form-text'>用戶信息列表</div>’ + ’</div><div class='layui-form-item'>’ + ’<table lay-filter='user_table'></table></div>’, success: function () { table.render({elem: ’#user_table’,id: ’user_table’,height: 480,method: ’post’, //接口http請求類型,默認:geturl: ’{% url ’user:user_list’ %}’,request: { pageName: ’page’, //頁碼的參數名稱,默認:page limitName: ’limit’, //每頁數據量的參數名,默認:limit},response: { statusName: ’code’, //規定數據狀態的字段名稱,默認:code statusCode: 0, //規定成功的狀態碼,默認:0 msgName: ’msg’, //規定狀態信息的字段名稱,默認:msg countName: ’count’, //規定數據總數的字段名稱,默認:count dataName: ’data’, //規定數據列表的字段名稱,默認:data},page: true, //是否分頁limit: 10, //每頁顯示的條數limits: [10, 20, 30], //每頁條數的選擇項,默認:[10,20,30,40,50,60,70,80,90]。cols: [ [ { field: ’username’, //字段名 title: ’用戶名’, //標題 width: 150, sort: true, //是否允許排序 默認:false fixed: ’left’ //固定列 }, { field: ’sex’, //字段名 title: ’性別’, //標題 width: 100, sort: true //是否允許排序 默認:false //fixed: ’left’ //固定列 }, { field: ’age’, //字段名 title: ’年齡’, //標題 width: 100, sort: true //是否允許排序 默認:false //fixed: ’left’ //固定列 }, { field: ’mobile’, //字段名 title: ’手機’, //標題 width: 100, sort: true //是否允許排序 默認:false //fixed: ’left’ //固定列 }, { field: ’address’, //字段名 title: ’地址’, //標題 width: 150, sort: true //是否允許排序 默認:false //fixed: ’left’ //固定列 },{ field: ’’, //字段名 title: ’操作’, //標題 toolbar: ’#bar’ } ]], }); }, cancel: function () { layer.closeAll(); } }) }); }); </script> <script type='text/html' id='bar'> <button class='layui-btn layui-btn-normal'>查看</button> <button class='layui-btn layui-btn-normal'>編輯</button></script>

3、接著,所請求的view的方法,即為上面定義的url屬性,{% url ’user:user_list’ %},其中url配置,以及邏輯實現代碼分別如下:

from django.urls import path urlpatterns = [ # 查詢用戶列表 path(’user_list/’, UserQuery.as_view(), name='user_list'),]

from apps.user.models.user_model import UserInfofrom django.http import JsonResponsefrom django.views.decorators.csrf import csrf_exempt class UserQuery(View): ''' 用戶信息查詢 ''' def post(self, request): user_list = UserInfo.objects.objects.get_queryset().order_by(’id’) data = dict() data_items = [] for item in user_list : user_dict = {'username': item.username, 'age': item.age, 'sex': item.sex, 'mobile': item.mobile, 'address': item.address} data_items.append(user_dict ) data.__setitem__('data', data_items) data.__setitem__('code', 0) data.__setitem__('msg', '') data.__setitem__('count', len(field_list)) return JsonResponse(data) @csrf_exempt def dispatch(self, *args, **kwargs): return super(UserQuery, self).dispatch(*args, **kwargs)

注:

(1)、通過查詢UserInfo model底下的數據,然后分別循環這個列表,把動態表格所需要顯示的值,填充到一個字典底下,并追加進列表當中,最后再統一構成一個字典data,把列表數據,狀態碼,返回信息,數量返回回去。

(2)其中通過ajax請求時,可能會有csrf跨域的限制,因為我們沒有構造一個表單,并在表單底下加個 {% csrf_token %} ,導致請求不過去,所以要加個@csrf_exempt注解方式來解決。

補充知識:django數據接口與layUI框架數據表格結合:數據渲染和真實分頁

第一步 :

通過查詢數據轉化為layui的數據接口模式

{“code”: 0, “msg”: “”, “count”:總數, “data”: 查詢的數據}

自行定義訪問路徑,當url訪問 xxxx/tasks/data/ 路徑時:訪問視圖response_data,將數據傳到前端,通過html可查看相關代碼

視圖函數views.py

import jsondef response_data(request): dates=AssetInfo.objects.all()#自行創建測試數據。 dataCount = dates.count()#數據總數 lis=[] for i in dates: dict={} dict[’jobname’]=i.jobname#與前端一一對應,自行設置要展示的字段 dict[’Departments’] = i.Departments.lm_unit#外鍵字段 dict[’groups’] = i.groups.variables_name#外鍵字段 dict[’email’] = i.email dict[’status’] = i.status dict[’taskNo’] = i.taskNo dict[’create_time’] = i.create_time lis.append(dict) pageIndex = request.GET.get(’page’) #前臺傳的值, pageSize = request.GET.get(’limit’) #前臺傳的值 pageInator = Paginator(lis, pageSize)#導入分頁模塊分頁操作,不寫前端只展示一頁數據, contacts = pageInator.page(pageIndex)#導入分頁模塊分頁操作,不寫前端只展示一頁數據, res=[] for i in contacts: res.append(i) print(res) Result = {'code': 0, 'msg': '', 'count':dataCount, 'data': res} # json.dumps(Result, cls=DateEncoder)沒有時間字段問題可直接返回此代碼。有就返回下面代碼 return HttpResponse(json.dumps(Result, cls=DateEncoder), content_type='application/json')#解決時間字段json問題class DateEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj,datetime.datetime): return obj.strftime('%Y-%m-%d %H:%M:%S') else: return json.JSONEncoder.default(self,obj)

html代碼

<!DOCTYPE html><html><head> <meta charset='utf-8'> <title>Layui</title> <meta name='renderer' content='webkit'> <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'> <meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1'> <link rel='stylesheet' href='http://www.piao2010.com/static/layui-v2.5.5/layui/css/layui.css' rel='external nofollow' media='all'> <!-- 注意:如果你直接復制所有代碼到本地,上述css路徑需要改成你本地的 --></head><body><table id='test'></table><script src='https://rkxy.com.cn/static/layui-v2.5.5/layui/layui.js' charset='utf-8'></script><!-- 注意:如果你直接復制所有代碼到本地,上述js路徑需要改成你本地的 --><script>layui.use(’table’, function(){ var table = layui.table; table.render({ elem: ’#test’ ,url:’/tasks/data/’#數據接口 ,page: true ,limit:5 ,limits:[5,15,20] ,cols: [[ {field: ’jobname’, title: ’任務名’} , {field: ’Departments’, title: ’部門’} , {field: ’groups’, title: ’配置’} , {field: ’email’, title: ’郵箱’} , {field: ’status’, title: ’狀態’} , {field: ’taskNo’, title: ’隊列狀態’ } , {field: ’create_time’, title: ’創建時間’} ]] });});</script></body></html>

效果圖

django Layui界面點擊彈出對話框并請求邏輯生成分頁的動態表格實例

以上這篇django Layui界面點擊彈出對話框并請求邏輯生成分頁的動態表格實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
欧美刺激脚交jootjob| 精品综合免费视频观看| 蜜臀精品一区二区三区在线观看 | 亚洲一区二区欧美| 亚洲网友自拍| 国产精品嫩草久久久久| 91免费视频网址| 久久综合色综合88| 成人污视频在线观看| 欧美一区二区三区免费| 国产成人亚洲精品青草天美| 国产精品911| 555www色欧美视频| 国产在线观看免费一区| 欧美卡1卡2卡| 国模冰冰炮一区二区| 欧美精品三级日韩久久| 久久99国产精品久久| 欧美日韩在线播放| 国产成人综合亚洲91猫咪| 日韩欧美一级片| 成人午夜av在线| 久久这里只有精品首页| 欧美一区在线看| 日本一区二区不卡视频| 国产精品v欧美精品v日韩 | 国产一区在线不卡| 宅男噜噜噜66一区二区66| 麻豆视频观看网址久久| 欧美老肥妇做.爰bbww| 国产精品538一区二区在线| 日韩欧美一区二区免费| a级高清视频欧美日韩| 国产婷婷色一区二区三区| 农村妇女精品| 国产精品乱码妇女bbbb| 亚洲国产片色| 亚洲gay无套男同| 在线免费观看一区| 国产精品亚洲а∨天堂免在线| 欧美一级高清片| 91视视频在线直接观看在线看网页在线看| 中文字幕国产一区| 亚洲少妇一区| 奇米影视一区二区三区| 正在播放亚洲一区| 99精品久久免费看蜜臀剧情介绍| 中文字幕成人在线观看| 国产精品久久久久久模特| 日韩国产在线一| 欧美日韩一区小说| 99久久久久免费精品国产| 国产精品系列在线| 亚洲永久视频| 国模冰冰炮一区二区| 精品少妇一区二区| 亚洲高清二区| 青青草国产成人av片免费| 欧美一级高清片在线观看| 国产一区二区三区四区hd| 亚洲综合色成人| 在线观看网站黄不卡| 岛国一区二区三区| 国产精品久久三| 久久精品官网| 粉嫩一区二区三区性色av| 国产精品亲子伦对白| 鲁鲁狠狠狠7777一区二区| 国产九九视频一区二区三区| 欧美国产国产综合| 免费毛片一区二区三区久久久| 国产麻豆成人传媒免费观看| 中文字幕精品一区二区三区精品 | 国产精品扒开腿做爽爽爽软件| 亚洲成人777| 日韩欧美一区在线观看| 国产精品vip| 日本午夜一本久久久综合| 日韩精品一区二区三区老鸭窝| 欧美日韩免费观看一区=区三区| 亚洲成人一区二区在线观看| 日韩一区二区三区精品视频 | 国产成人精品亚洲午夜麻豆| 中文字幕欧美一| 精品视频一区二区三区免费| 99久久免费国产| 一区二区三区自拍| 91精品国产综合久久小美女| 亚洲第一区色| 国产精品一级黄| 1区2区3区精品视频| 欧美日韩精品电影| 一区精品在线| 国产一区二区三区国产| 日韩美女啊v在线免费观看| 欧美中文字幕不卡| 欧美日韩1080p| 久久精品国内一区二区三区| 中文久久乱码一区二区| 欧美日韩一区二区三区免费看| 国产精品jizz在线观看美国| 美腿丝袜亚洲一区| 亚洲欧洲成人自拍| 欧美一级日韩免费不卡| 麻豆精品网站| 国自产拍偷拍福利精品免费一 | 欧美精品一区二区久久久| 久久精品一二三区| 欧美激情aⅴ一区二区三区| 蜜桃精品视频在线| 成人欧美一区二区三区白人| 欧美一区二区三区免费在线看| 国产精品日韩久久久| av成人免费在线| 麻豆91免费看| 洋洋av久久久久久久一区| 久久综合久久综合亚洲| 欧美色网站导航| 一本色道久久| 91在线视频观看| 久久精品99久久久| 一区二区三区中文字幕电影| 久久久天堂av| 欧美欧美欧美欧美首页| 欧美综合二区| 亚洲国产一区二区精品专区| 99热在这里有精品免费| 韩国女主播一区| 偷窥少妇高潮呻吟av久久免费| 亚洲欧美综合另类在线卡通| 精品裸体舞一区二区三区| 欧美亚洲日本国产| 亚洲在线观看| 亚洲第一在线综合在线| 成人av先锋影音| 精品一区二区三区在线播放| 亚洲图片有声小说| 成人免费在线观看入口| 国产色爱av资源综合区| 日韩欧美一二三四区| 欧美日韩高清在线播放| 久久av一区二区三区| 亚洲高清不卡| 韩国亚洲精品| 欧美ab在线视频| 不卡一区在线观看| 国产a精品视频| 国产一区二区影院| 久久精品72免费观看| 亚洲18色成人| 亚洲黄色性网站| 亚洲欧洲日本在线| 国产精品高潮呻吟| 亚洲国产成人私人影院tom| 久久先锋资源网| 久久影音资源网| 精品国产伦一区二区三区免费| 91精品中文字幕一区二区三区| 欧美亚洲国产bt| 日本伦理一区二区| 色婷婷av一区二区三区之一色屋| 国产九九精品| 亚洲一区二区三区精品视频| 日韩午夜免费视频| 伊人天天综合| 欧美网站在线| 国产中文一区二区| 亚洲一级一区| 在线欧美不卡| 亚洲成色精品| 精品91久久久久| 欧美日韩免费精品| 精品电影一区| 99精品视频免费观看| 亚洲欧洲日夜超级视频| 99热在线精品观看| 国产日韩一区二区三区在线| 亚洲人妖在线| 亚洲欧美视频一区二区三区| 午夜亚洲精品| 在线观看91视频| 欧美精品xxxxbbbb| 日韩丝袜情趣美女图片| 日韩久久久久久| 久久亚洲二区三区| 国产精品国产a| 亚洲综合色丁香婷婷六月图片| 亚洲国产精品一区二区www| 亚洲国产精品久久艾草纯爱| 日韩精品免费视频人成| 奇米777欧美一区二区| 久久99久久精品| 丁香另类激情小说| 欧美日韩国产一区精品一区| 欧美色图首页| 国产精品女主播一区二区三区| 性欧美videos另类喷潮| 在线观看日韩电影| 91精品国产高清一区二区三区 | 国产一区二区精品|