Django1.10+python2.7.3将数据以table方式显示并提供下载链接

Cai_12543 2017-03-31 05:45:25
如题,结合的Bootstrap3.3一起使用,网页接收到后台的查询结果后,以table方式显示,并且有一个下载链接,可供在下载保存到本地excel。因为不懂,目前在网上找到的办法链接
http://www.cnblogs.com/CQ-LQJ/p/5630606.html?utm_source=tuicool&utm_medium=referral
单独有个下载的函数,但是目前倒腾始终实现不了的事,怎么结合查询和下载同时生成。
查询过程简要如下:

def Event(request):
if 'qS' in request.GET:
a = request.GET['qS']
b = request.GET['qST']
c = request.GET['qET']
eventtype = ''

rp_tm_all = get_events_by(a, b, c, eventtype)
return render_to_response('event.html', {'data': rp_tm_all})

下载的视图函数

def DownLoadEvent(request,a,b,c):
response = HttpResponse(content_type='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment; filename=' + time.strftime('%Y%m%d',time.localtime(time.time()))+'.xls'
workbook = xlwt.Workbook(encoding='utf-8') #创建工作簿
# sheet = workbook.add_sheet(b.day + "To" + c.day) #创建工作页
sheet = workbook.add_sheet("Sheet1") #创建工作页
row0 = [u'第一列',u'第二列',u'第三列',u'第四列']
for i in range(0, len(row0)):
sheet.write(0, i, row0[i])
data = get_events_by(a, b, c, eventtype)
num = 1
for d in data:
sheet.write(num, 0, str(d.time))
sheet.write(num, 1, d.location)
sheet.write(num, 2, d.note)
sheet.write(num, 3, d.type)
num = num + 1
workbook.save(response)
return response
]

url的配置

url(r'^event/$', views.Event, name='event'),
url(r'^downEvent-(?P<a>\w)-(?P<b>\w+)-(?P<c>\w+)$', views.DownLoadEvent),

简单来说,我不知道怎么将这个视图Event中的条件查询结果保存下来,供在另一个下载视图函数DownLoadEvent中能以xlwt返回给网页,或者可以以别的方式将两个结合为一体。实在是菜鸟,请知道的大神们给些提示。
...全文
192 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cai_12543 2017-04-08
  • 打赏
  • 举报
回复
引用 2 楼 uiuiy1 的回复:
两个方法合为一个, 向下载方法提交 查询参数, 根据查询参数得到结果,结果写入excel,再返回客户端
道理明白,能跟我讲讲,比如三个查询条件a,b,c的表单,两个按键,一个是“查询”(执行视图Event的工作),一个是“下载”(执行DownLoadEvent)的工作。像你说的,把两块功能合在一起,我在一个视图里该怎么判定是要查询返回结果呢,还是返回excel下载呢...... 刚开始做这个,不太明白,谢谢了
屎克螂 2017-04-05
  • 打赏
  • 举报
回复
两个方法合为一个, 向下载方法提交 查询参数, 根据查询参数得到结果,结果写入excel,再返回客户端
Cai_12543 2017-04-01
  • 打赏
  • 举报
回复
别沉啊,有路过的看看么?

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧