保存Django表单为excel文件,同时保存到db也在Djang中

2024-05-13 20:28:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样的代码。这是保存中指定的数据的工作示例表单.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数据库。我的主要目标是把这个表格保存为excel文件。我该如何处理这个问题?如何将数据传递到工作表,并在我的html文件中单击“提交”按钮,同时保存到excel文件和数据库?谢谢你以后的回答。在


Tags: 文件数据nameform表单datadateif
1条回答
网友
1楼 · 发布于 2024-05-13 20:28:28

您可以创建一个新视图,将数据导出为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是否使用视图导出数据。在

相关问题 更多 >