You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django 2.7.6版本表头全选复选框实现及Python 2.7.6下获取方法

问题1:Django环境下设置表头「Select all」全选复选框

注:官方未发布过Django 2.7.6版本,该版本号大概率是你混淆了Python 2.7.6和Django版本号,以下方案适配Python 2.7对应的所有Django主流版本

  • 如果你用的是Django Admin列表页:默认表头自带全选复选框,确认你的ModelAdmin中没有设置actions = None即可显示,也可以手动指定action_on_top = True强制在顶部表头显示全选框。
  • 如果你是自定义模板渲染列表:直接在表头对应<th>标签中插入全选框代码,配套JS实现全选逻辑即可:
<!-- 表头位置 -->
<th><input type="checkbox" id="select-all" name="select_all"></th>
<!-- 每行的选择框统一加class -->
<td><input type="checkbox" class="row-select" name="row_id" value="{{ obj.id }}"></td>

<script>
document.getElementById('select-all').addEventListener('change', function(e) {
  document.querySelectorAll('.row-select').forEach(item => {
    item.checked = e.target.checked;
  });
});
</script>

问题2:Python 2.7.6版本下获取表头复选框

分不同场景给出方案:

场景1:Django后端获取前端提交的全选状态

直接从请求对象中读取对应参数即可:

if request.method == 'POST':
    # 复选框勾选时会提交on,未勾选时不会传参,默认设为False
    select_all_status = bool(request.POST.get('select_all', False))

场景2:爬虫场景解析页面获取表头复选框

使用适配Python 2.7的BeautifulSoup 4.9.3版本解析:

from bs4 import BeautifulSoup
import urllib2

response = urllib2.urlopen("目标页面地址")
html = response.read()
soup = BeautifulSoup(html, 'html.parser')
# 按属性定位全选复选框
select_all_checkbox = soup.find('input', {'type': 'checkbox', 'id': 'select-all'})
# 也可先定位表头再找子元素
header_col = soup.find('th', class_='action-checkbox')
select_all_checkbox = header_col.find('input', type='checkbox')

场景3:自动化测试场景获取表头复选框

使用适配Python 2.7的Selenium 3.141.0版本操作:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("目标页面地址")
# 按ID定位
select_all = driver.find_element_by_id("select-all")
# 按XPath定位
select_all = driver.find_element_by_xpath("//thead//input[@type='checkbox']")

参考图示:
全选复选框参考图

内容的提问来源于stack exchange,提问作者dreamer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 17:30:04