# -*- coding: utf-8 -*-
import fileinput
filePath = 'd:/test.txt'
page_size = 5 #每页显示的行数
page_num = 1 #前端的当前页数
current_num = 0 #从当前行数开始读取
record_count = 0 #文件总数据条数
flag = False #用来标记是否到了需读取的起始行号
init_flag = True #是否为初次加载
res = [] #结果集
result = {'count' : 0, 'res' : []} #最终结果集
if init_flag:
'''
如果前端是初次加载,init_flag = true, 计算文件总数,计算后将init_flag 置为false,下次翻页不再做总数统计
'''
temp_f = open(filePath, 'r')
for count, line in enumerate(open(filePath, 'r')):
record_count += 1
temp_f.close()
init_flag = False
for eachline in fileinput.input(filePath):
'''
此部分用来读取需要显示部分的数据
'''
line_no = fileinput.filelineno() #当前读取的行号
if not flag:
if line_no == (page_num - 1)*page_size + 1:
flag = True
if flag:
if line_no > (page_num - 1)*page_size and line_no <= page_num*page_size:
res.append(eachline)
else:
current_num = line_no
fileinput.close();
break;
result['count'] = record_count
result['res'] = res
print result
# -*- coding: utf-8 -*-
import fileinput
filePath = 'd:/test.txt'
pagesize = 5 #每页显示的行数
pageindex = 1 #前端的当前页数
current_num = 0 #从当前行数开始读取
record_count = 0 #文件总数据条数
flag = False #用来标记是否到了需读取的起始行号
init_flag = True #是否为初次加载
res = [] #结果集
result = {'count' : 0, 'res' : []} #最终结果集
if init_flag:
'''
如果前端是初次加载,init_flag = true, 计算文件总数,计算后将init_flag 置为false,下次翻页不再做总数统计
'''
temp_f = open(filePath, 'r')
for count, line in enumerate(open(filePath, 'r')):
record_count += 1
temp_f.close()
init_flag = False
for eachline in fileinput.input(filePath):
'''
此部分用来读取需要显示部分的数据
'''
line_no = fileinput.filelineno() #当前读取的行号
if not flag:
if line_no == record_count - pageindex*pagesize + 1:
flag = True
if flag:
if line_no >= record_count - pageindex*pagesize + 1 \
and line_no < record_count - (pageindex - 1)*pagesize + 1:
res.append(eachline)
else:
fileinput.close();
break;
result['count'] = record_count
result['res'] = res
print result
分享到:
相关推荐
- 数据库操作:通过SQLAlchemy,实现对文章的CRUD(创建、读取、更新、删除)操作。例如,`Article`类可以定义为一个数据库模型,包含字段如`title`、`content`、`author`等。 - 用户接口:设计用户交互界面,如登录...
6. **安全性**:在实现文件浏览器时,必须考虑安全性。防止目录遍历攻击,确保用户只能访问其有权访问的文件和目录,是至关重要的。Django提供了安全的中间件和函数,如`django.middleware.csrf.CsrfViewMiddleware`...
在Django和Xadmin中,搜索功能通常通过查询参数实现,允许用户输入关键词或选择过滤条件,返回匹配的结果。 综上所述,“django-xadmin-manager”是一个集成了Django和Xadmin的强大后台管理系统,具备完整的数据...
8. 性能优化:随着文章数量的增长,可能需要考虑数据库索引、缓存策略(如Redis或Memcached)、分页查询等方法来提升系统的性能。 9. 数据备份与恢复:定期备份数据库和提供恢复机制是保障数据安全的重要环节。 10...
综上所述,"后台管理页面"的开发涵盖了多种技术知识点,包括但不限于身份验证、权限控制、响应式设计、数据库操作、文件管理、内容发布、系统设置、日志记录和测试策略。"HempFlowers"这个压缩包很可能是这些技术的...
5. 分页和排序:轻松实现数据的分页和动态排序,提升数据浏览效率。 6. 错误处理与日志记录:Django和Vue.js都有相应的错误处理机制,确保系统的稳定运行。 五、项目结构解析 在解压后的"django-vue-admin-pro-...
7. 性能优化:对于大规模的图书数据,系统可能需要进行索引优化、缓存策略或者数据库分页等手段来提升查询速度。 综上所述,这个“图书管理系统”虽然功能简单,但涵盖了数据库管理系统的基本构造和运作原理,是...
- 分页和排序:为了提高用户体验,新闻列表通常需要实现分页和按时间、热度等条件的排序功能。 - 错误处理和日志记录:确保系统在遇到问题时能够给出适当的反馈,同时记录日志以便于排查问题。 通过学习和实践新闻...
在Django中,admin是一个内置的管理接口,它允许开发者快速地为模型创建CRUD(创建、读取、更新、删除)操作。然而,Django的默认admin界面虽然功能全面,但在样式和定制性上可能稍显不足。**xadmin** 插件则弥补了...
9. **异常处理和日志记录**:良好的错误处理和日志记录机制有助于调试和故障排查,源代码中会看到这些功能的实现。 10. **单元测试和集成测试**:为了确保代码质量,源代码中可能包含了自动化测试脚本,通过测试...
网页上的学生管理系统是一种基于Web技术实现的教育管理工具,它允许管理员、教师或特定授权人员在互联网上对学生信息进行集中管理和处理。这个系统通常包括一系列功能,如添加新学生信息、更新现有信息、删除不再...
在这个车辆预约系统中,DRF可能被用来创建、读取、更新和删除车辆预约信息,以及处理用户身份验证和权限验证。 3. **RESTful API设计**:REST(Representational State Transfer)是一种网络应用程序的设计风格和...
4. **前端界面**:使用HTML、CSS和JavaScript构建用户友好的界面,实现表单提交、页面动态加载、分页显示等功能。还可以利用AJAX实现无刷新交互,提升用户体验。 5. **后端逻辑**:后端处理用户的请求,如添加、...
此外,还可以通过阅读源代码学习到编程语言(如PHP、Java、Python等)、框架(如Laravel、Django、Spring Boot等)的使用技巧,以及如何实现常见的Web功能,如分页、排序、过滤等。 总之,这个新闻管理系统的源代码...
- **分页功能**:利用Redis的SCAN命令实现分页功能,可以高效地获取分页数据,减少内存消耗。 - **搜索功能**:Redis自带的RediSearch模块提供全文搜索功能,可以增强用户的搜索体验。 #### 十、缓存策略 - **热门...
13. **性能优化**:Django可以通过缓存机制、数据库查询优化、分页等手段提高应用的性能。 14. **开发与部署**:Django的开发环境友好,拥有集成的开发服务器,而生产环境部署可以通过Gunicorn、uWSGI等Wsgi服务器...