Javascript 如何使用js或jquery在django中单击按钮将文件从服务器下载到客户端
在这里,我用Html发送我想要下载的测试用例,点击下载按钮,点击views.py中的tcgsave保存方法,然后检查请求是否来自下载按钮,然后执行它 HTML url.py 在视图中,我创建文件并将该文件移动到.tar文件夹中,以便在服务器端下载,方法是在客户端发送tar_file_path变量中的文件路径,即html页面 views.py 当点击下载按钮时,它给我错误 找不到页面404 请求方法:获取Javascript 如何使用js或jquery在django中单击按钮将文件从服务器下载到客户端,javascript,django,Javascript,Django,在这里,我用Html发送我想要下载的测试用例,点击下载按钮,点击views.py中的tcgsave保存方法,然后检查请求是否来自下载按钮,然后执行它 HTML url.py 在视图中,我创建文件并将该文件移动到.tar文件夹中,以便在服务器端下载,方法是在客户端发送tar_file_path变量中的文件路径,即html页面 views.py 当点击下载按钮时,它给我错误 找不到页面404 请求方法:获取 请求URL:/root/ivenv/test\u case\u tool/docs/newP
请求URL:/root/ivenv/test\u case\u tool/docs/newProjectFoldr.tar显然,Django不知道URL:/root/ivenv/test\u case\u tool/docs/newProjectFoldr.tar在哪里。所以你得到了一个404错误没有找到 您可以在urls.py中编写相应的url,或将文件放入STATIC_ROOT folder查看您的settings.py,添加STATIC_ROOT='STATIC'和STATIC_url='STATIC/',如果没有,则可以访问 将文件放在appname/static/folder中,当settings.py中的DEBUG=True时,Django将自动找到它 访问{STATIC_URL}}/newProjectFoldr.tar下载该文件。 部署时,运行python manage.py collectstatic将静态文件收集到static_根文件夹,当DEBUG=False django不为静态文件提供服务器时,可以使用Apache
{% for testcase in testcase_object_array %}
<form action="/tcgsave/" method="post">{% csrf_token %}
<input type="checkbox" name="name_testcase" id="testcase_id" class ="multiValueChek" value="{{ testcase.id }}"/>{{ testcase.name }}<br />
{% endfor %}
<button style="width:70px;" class="btn btn-primary" value=" Edit" id="editbtn_id" name="editbtn_id" type="submit"> Edit </button>
<button style="width:70px;" class="btn btn-primary" value="download_btn" id="download_btn" name="download_btn" type="submit" onClick="window.location.href='{{tar_file_path}}> Download </button>
</form>
$("#download_btn").click(function(){
var cnt=0;
var checkbox_value = "";
$(":checkbox").each(function () {
var ischecked = $(this).is(":checked");
if (ischecked){
checkbox_value += $(this).val();
//alert(checkbox_value);
$("#testid_checked").val(checkbox_value);
cnt=cnt + 1 ;
}
});
if(cnt==0){
alert("Please select one Test case");
return false;
}
else
{
return true;
}
});
url(r'^tcgsave/', 'apps.tcg.views.tcgsave', name='tcgsave')
def tcgsave(request):
if request.POST.get('download_btn'):
with open(Folderpath+'/'+testcase_name+'.java',"w") as f:
f.write("package "+inputpackage+";")
f.write("\n\n"+lines)
f.write(testcaseSummary)
f.write("\n @testsummary")
f.write("\n <pre>"+testcaseSummary+"</pre> \n\n")
os.chdir("/root/ivenv/test_case_tool/docs/")
tar = tarfile.open(folderName+".tar", "w")
tar.add(folderName,arcname=os.path.basename(folderName))
tar_file_path = "/root/ivenv/test_case_tool/docs/"+folderName+".tar"
return render_to_response('tcgform.html','tar_file_path':tar_file_path,'testcase_object_array':pass_testcase_object_array},context_instance=RequestContext(request))