Сохранение формы django в виде файла Excel с сохранением в db также в Django - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть такой код.Это рабочий пример сохранения данных, указанных в 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 и в базу данных одновременно?спасибо за все ответы в будущем.

1 Ответ

0 голосов
/ 12 декабря 2018

Вместо сохранения данных в 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

Вы можете проверить этот средний пост , а также для экспорта данных с использованием представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...