0
我想在django通过响应提供下载文件后重定向到成功页面。 我需要做什么?返回附件响应后重定向到成功页面
每次用户请求时,django都会生成文件,因此它在目录中没有真实文件。
“content”变量只是.ical格式的字符串。
def index(request):
if request.method == 'POST':
form = UploadText(request.POST)
if form.is_valid():
data = convert2calendar(form.cleaned_data['regHtml'])
open_day = form.cleaned_data['open_date_semester']
end_day = form.cleaned_data['end_date_semester']
content = create_ical_download(open_day, end_day, data)
response = HttpResponse(content_type='text/ics')
response['Content-Disposition'] = 'attachment; filename="export.ics"'
response.write(content)
return response
else:
form = UploadText()
return render(request, 'genclass/index.html', {'form': form})
谢谢你的帮忙。
沿'返回HttpResponseRedirect(self.success_url)'在 “有效” 的代码块的结尾应该做的东西线。 – Evert
这不能工作,因为OP已经将附件作为响应返回。没有办法做到这一点;你不能返回两个响应。 –
好吧,那么你有什么可以用这种方式来提供下载文件而无需返回响应吗? –