资产探测与信息收集搜索记录
赞
踩
路由入口:
<a class="dropdown-item" href="{% url 'detect_history' 1 %}">资产探测与信息收集搜索记录</a>
传递一个默认值1,默认第一页。
路由地址:
path('detect_history/<int:pIndex>', views.detect_history, name='detect_history'), # 历史搜索记录
# 分页浏览历史记录信息 from .models import users from detection.models import detection_collect def detect_history(request, pIndex=1): try: ## 执行数据查询,并放置到模板中 # 判断搜索条件并封装 kw = request.GET.get("keyword", None) mywhere = "" # 定义一个用于存储搜索条件的变量 if kw is not None: list = detection_collect.objects.filter(name__contains=kw) # 对name字段做包含式查询 mywhere = "?keyword=%s" % (kw) # 追加搜索条件 else: list = detection_collect.objects.filter() # print(list) p = Paginator(list, 10) # 以5条数据一页实例化分页对象 # 判断页码值是否有效(防止越界) if pIndex < 1: pIndex = 1 if pIndex > p.num_pages: pIndex = p.num_pages ulist = p.page(pIndex) context = {"context": ulist, "pIndex": pIndex, "pagelist": p.page_range, "mywhere": mywhere} return render(request, "user/detect_history.html", context) except Exception as e: print('e:', e) return HttpResponse("没有找到对应的信息!")
<link rel="stylesheet" href="/static/css/bootstrap/bootstrap.css"> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script> <script type="text/javascript" src="/static/js/bootstrap/bootstrap.js"></script> <div class="container mt-3"> <div class="card"> <div class="card-header">资产探测与信息收集搜索记录</div> <div class="card-body"> <table class="table table-hover text-center" id="table" > <thead> <tr> <th data-sortable="true">id号</th> <th data-sortable="true">姓名</th> <th data-sortable="true">URL</th> <th data-sortable="true">查询类型</th> <th data-sortable="true">添加时间</th> <th data-sortable="true">操作</th> </tr> </thead> <tbody> {% for data in context %} <td>{{ data.id }}</td> <td>{{ data.username }}</td> <td>{{ data.url }}</td> <td>{{ data.type }}</td> <td>{{ data.time|date:'Y-m-d H:i:s' }}</td> <td> <div class="btn-group" role="group" aria-label="..."> <a href="javascript:doDel('{% url 'delsearch' data.id %}');"> <button type="button" class="btn btn-danger">删除</button> </a> </div> </td> </tr> {% endfor %} </tbody> </table> </div> </div> </div> <br> <ul class="pagination justify-content-center"> <li class="page-item"><a class="page-link" href="{% url 'detect_history' pIndex|add:-1 %}{{ mywhere }}">«</a> </li> {% for p in pagelist %} {% if pIndex == p %} <li class="page-item"><a class="page-link" href="{% url 'detect_history' p %}{{ mywhere }}" style="color:red;">{{ p }}</a></li> {% else %} <li class="page-item"><a class="page-link" href="{% url 'detect_history' p %}{{ mywhere }}">{{ p }}</a></li> {% endif %} {% endfor %} <li class="page-item"><a class="page-link" href="{% url 'detect_history' pIndex|add:1 %}{{ mywhere }}">»</a> </li> </ul>
路由入口:
<a class="dropdown-item" href="{% url 'detect_history' %}">资产探测与信息收集搜索记录</a>
路由地址:
path('detect_history', views.detect_history, name='detect_history'), # 历史搜索记录
from .models import users
from detection.models import detection_collect
# 历史搜索记录
def pageUsers(request):
try:
data = users.objects.all() # 获取数据库数据
context = {"datalist": data}
return render(request, "user/user.html", context)
except Exception as e:
print('-----error1 %s' % (e))
<link rel="stylesheet" href="/static/css/bootstrap/bootstrap.css"> <!--Bootsrap Table--> <link rel="stylesheet" href="/static/css/bootstrap/bootstrap-table.css"> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script> <script type="text/javascript" src="/static/js/bootstrap/bootstrap.bundle.js"></script><!--注意是引入bootstrap.bundle.js,它是bootsrap.js + popper.js--> <!--Bootsrap Table--> <script type="text/javascript" src="/static/js/bootstrap/bootstrap-table.js"></script> <script type="text/javascript" src="/static/js/bootstrap/bootstrap-table-zh-CN.js"></script> <div class="container mt-3"> <div class="card"> <div class="card-header">资产探测与信息收集搜索记录</div> <div class="card-body"> <table class="table table-hover text-center" id="table" data-toggle="table" data-search="true" data-pagination="true" data-id-field="id" data-pageSize="10" data-pageNumber="1" data-page-list="[10, 25, 50, 100, all]" data-response-handler="responseHandler" > <thead> <tr> <th data-sortable="true">id号</th> <th data-sortable="true">姓名</th> <th data-sortable="true">URL</th> <th data-sortable="true">查询类型</th> <th data-sortable="true">添加时间</th> <th data-sortable="true">操作</th> </tr> </thead> <tbody> {% for data in datalist %} <td>{{ data.id }}</td> <td>{{ data.username }}</td> <td>{{ data.url }}</td> <td>{{ data.type }}</td> <td>{{ data.time|date:'Y-m-d H:i:s' }}</td> <td> <div class="btn-group" role="group" aria-label="..."> <a href="javascript:doDel('{% url 'delsearch' data.id %}');"> <button type="button" class="btn btn-danger">删除</button> </a> </div> </td> </tr> {% endfor %} </tbody> </table> </div> </div> </div>
研究了很久分页的代码怎么写,好不容易写出来,发现BootStrap-table有现成的,而且比我费老劲写的好看多了。最终还是换成了BootStrap-table。但不管怎么说,写一遍肯定是有收获的。果然对于我这种小透明框架还是比手工香……
不懂BootStrap-table分页、搜索等功能是如何实现的请移步我的前博文——【Bootstrap】Bootstrap v5 Table插件疯狂踩坑记录
好不容易廊坊解封了,北京疫情又严重了,到底什么时候是个头,希望疫情快点结束,希望我能健康如初……
2022年4月26日于家中
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。