python - 将文件导出到 csv 但它不会在 django 中显示文件
问题描述
所以我尝试将查询结果导出到 csv 文件中,但是当我这样做时,它说成功,但我看不到文件在哪里,或者在浏览器中下载的文件,我已经搜索了该文件,但我没有在任何地方找到它, 这是代码
html 中的 AJAX
<script>
$(document).ready(function() {
$("#export").click(function () {
var urls = "{% url 'polls:export' %}";
var name = $('#columnselect').val();
var table = $('#dataselect').val();
var column = $('#conditionselect').val();
var operator = $('#operator').val();
var condition = $('#parameter').val();
$.ajax({
url: urls,
data: {
'name' : name,
'table': table,
'column' : column,
'operator' : operator,
'condition' : condition
},
success: function(data) {
alert("success");
},
error: function(data)
{
alert("error occured");
}
});
});
});
</script>
网址.py
path('export/',views.export,name='export'),
视图.py
def export(request):
import cx_Oracle
data_name = request.GET.get('name',1)
table_name = request.GET.get('table',1)
column_name = request.GET.get('column',1)
operator = request.GET.get('operator',1)
condition = request.GET.get('condition',1)
dsn_tns = cx_Oracle.makedsn('IP', 'PORT', sid='')
conn = cx_Oracle.connect(user=r'', password='', dsn=dsn_tns)
c = conn.cursor()
c.execute("select "+data_name+" from "+table_name+" where "+column_name+operator+"'"+condition+"'")
c.rowfactory = makeDictFactory(c)
columnalldata = []
for rowDict in c:
columnalldata.append(rowDict[data_name])
context = {
'obj4' : columnalldata
}
response = HttpResponse(content_type ='text/csv')
response['Content-Disposition'] = 'attachment;filename="output.csv"'
writer = csv.writer(response)
writer.writerow(context)
print(response)
return response
有人可以在这里找到我错了吗?我也已经遵循文档了..
感谢您的帮助
解决方案
推荐阅读
- python-3.x - Black python formatter not working in zsh
- sql-server - How to determine if given table is memory optimized?
- apache-spark - Spark SQL 更新/删除
- django - How to Group and Sum Category with ORM-Query
- beagleboneblack - Beagle Bone Black LED 的物理地址
- bash - 处理这个 git 合并通知场景的正确方法是什么?
- c++ - constexpr 成员函数
- amazon-web-services - 如何在 AWS ELB 日志中获取完整的 POST 正文?
- c# - 将数字消耗到降序组中
- php - 从存储 Laravel 中检索图像