我正在尝试使用HttpResponse下载CSV文件,以确保浏览器将其视为附件.我按照此处提供的说明操作,但我的浏览器未提示"另存为"对话框.我无法弄清楚我的功能有什么问题.所有帮助表示赞赏.
dev savefile(request):
try:
myfile = request.GET['filename']
filepath = settings.MEDIA_ROOT + 'results/'
destpath = os.path.join(filepath, myfile)
response = HttpResponse(FileWrapper(file(destpath)), mimetype='text/csv' )
response['Content-Disposition'] = 'attachment; filename="%s"' %(myfile)
return response
except Exception, err:
errmsg = "%s"%(err)
return HttpResponse(errmsg)
祝帕特节快乐!
我是jquery的初学者所以请耐心等待.我有一个jquery函数,允许我选择多个复选框并创建一个字符串,如下所示:
function getSelectedVals(){
var tmp =[];
$("input[name='checks']").each(function() {
if ($(this).attr('checked'))
{
checked = ($(this).val());
tmp.push(checked);
}
});
var filters = tmp.join(',');
alert(filters)
return filters;
}
Run Code Online (Sandbox Code Playgroud)
然后我调用django视图函数并传递字符串,如下所示:
selected = getSelectedVals();
var myurl = "/bills/delete/?id=" + selected;
$.ajax({
type: "GET",
url: myurl,
data: selected,
cache: false
});
Run Code Online (Sandbox Code Playgroud)
在服务器上,我有一个删除视图函数,它迭代复选框值并操作列表.
def delete(request):
global myarray
idx = request.GET[u'id']
listidx = idx.split(',')
for l in listidx:
value = myarray[int(l)]
myarray.remove(value)
return HttpResponse("/bills/jqtut/")
Run Code Online (Sandbox Code Playgroud)
问题是在服务器上我作为GET字符串发送的所有索引都没有被处理,只有一半是.
请帮我!谢谢