我有这样的代码。这是保存在forms.py中指定的数据以及从当前登录用户获取的一些数据的有效示例。
@login_required
def save(request):
if request.method == 'POST':
form = ExcelForm(data=request.POST)
if form.is_valid():
name = request.user.first_name
lastname = request.user.last_name
date = datetime.datetime.now().date()
valid_form = form.save(commit=False)
valid_form.firstName = name
valid_form.lastName = lastname
valid_form.date = date
valid_form.save()
return redirect('account:panel')
else:
form = ExcelForm(data=request.POST)
return render(request, 'account/panel.html', {'form': form})
此表单已保存到sqllite db。我的主要目标是将此表单另存为excel文件。我该如何解决这个问题?如何将数据传递到工作表并单击html文件中的提交按钮,同时保存到excel文件和数据库中?感谢您将来提供的所有答案。
答案 0 :(得分:0)
您可以创建一个新视图以将数据导出为excel格式,而不是将数据存储在excel中。您可以使用django-import-export这样尝试。编写视图的示例:
from django.http import HttpResponse
from .resources import PersonResource
def export(request):
person_resource = PersonResource()
dataset = person_resource.export()
response = HttpResponse(dataset.xls, content_type='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment; filename="persons.xls"'
return response
您也可以选中this medium post以使用视图导出数据。