Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267

Как скачать сформированный в Django файл на компьютер пользователя?

30.05.2019, 22:01. Показов 811. Ответов 0
Метки go (Все метки)

Студворк — интернет-сервис помощи студентам
в Django проекте cформировал отчет в виде XLS файла.
Как его отправить пользователю на скачивание?
пробую сделать он не выдает в конце файл
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
@csrf_exempt
def download(request):
    if request.POST:
        print(1)
        shutil.copy("media/xl1.xlsm", "media/xl2.xlsm") 
        destination_filename = "media/xl2.xlsm"
        print(2)
        d1 = request.POST["d1"]
        d2 = request.POST["d2"]
        d3 = request.POST["d3"]
        d4 = request.POST["d4"]
        a = request.POST["a"]
        b2 = request.POST["b2"]
        b3 = request.POST["b3"]
        b4 = request.POST["b4"]
        c2 = request.POST["c2"]
        print(3)
        wb = openpyxl.load_workbook('media/xl2.xlsm')
        print(4)
        worksheet = wb['Лист1'] 
        worksheet["B4"]= int(d1)
        worksheet["C4"]= int(d2)
        worksheet["D4"]= int(d3)
        worksheet["E4"]= int(d4)
        worksheet["B5"]= int(a)
        worksheet["C6"]= int(b2)
        worksheet["D6"]= int(b3)
        worksheet["E6"]= int(b4)
        worksheet["C7"]= int(c2)
        print(5)
        wb.save('media/xl2.xlsm')
        print(6)
    return FileResponse(open('media/xl2.xlsx', 'rb'))
пробую также. он выдает ошибку в терминале UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbf in position 12: invalid start byte
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
@csrf_exempt
def download(request):
    if request.POST:
        print(1)
        shutil.copy("media/xl1.xlsm", "media/xl2.xlsm") 
        destination_filename = "media/xl2.xlsm"
        print(2)
        d1 = request.POST["d1"]
        d2 = request.POST["d2"]
        d3 = request.POST["d3"]
        d4 = request.POST["d4"]
        a = request.POST["a"]
        b2 = request.POST["b2"]
        b3 = request.POST["b3"]
        b4 = request.POST["b4"]
        c2 = request.POST["c2"]
        print(3)
        wb = openpyxl.load_workbook('media/xl2.xlsm')
        print(4)
        worksheet = wb['Лист1'] 
        worksheet["B4"]= int(d1)
        worksheet["C4"]= int(d2)
        worksheet["D4"]= int(d3)
        worksheet["E4"]= int(d4)
        worksheet["B5"]= int(a)
        worksheet["C6"]= int(b2)
        worksheet["D6"]= int(b3)
        worksheet["E6"]= int(b4)
        worksheet["C7"]= int(c2)
        print(5)
        wb.save('media/xl2.xlsm')
        print(6)
        filepath = 'media/xl2.xlsm'
        with open(filepath, 'r', newline='', encoding='utf-8') as fp:
            data = fp.read()
        filename = 'some-filename.xlsx'
        response = HttpResponse(content_type="application/ms-excel")
        response['Content-Disposition'] = 'attachment; filename=%s' % filename # force browser to download file
        response.write(data)
        return response
как решить данную ситуацию?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.05.2019, 22:01
Ответы с готовыми решениями:

Как скачать сформированный в Django файл на компьютер пользователя?
в Django проекте cформировал отчет в виде XLS файла. Не могу понять как его теперь скачать на локальный компьютер?

Как скачать через JS сформированный файл php
у меня создается на сервере файл c помощью php скрипта: $file = 'Реестр от '.date('Y-m-d H-i-s').'.xlsx'; // Если пользователь...

Как скачать файл в django?
Доброго времени суток, есть модель AAA, в моделе поле ImageField, с сервера в request.FILES.get("photo") приходит изображение ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.05.2019, 22:01
Помогаю со студенческими работами здесь

Как выдать сформированный файл пользователю через браузер?
Реализован механизм формирования отчета в виде документа OpenOffice. Проблема в том, как из этого документа создать файл (или поток), и,...

Как скачать изображение из <img> через django?
Доброго времени суток, есть задача с помощью django скачать фотографию из тега img Так как никак засунуть фотографию в inout file...

Скачать файл по ссылкам из файла из интернета на компьютер
Скачать файл по ссылкам из файла из интернета на комп - C# Добавлено через 23 минуты WebClient webload = new WebClient(); ...

Как давать пользователю скачать файл с сайта не по прямой ссылке,чтобы он не смог скачать его 2 раза по той же ссылке?
Грубо говоря, надо давать пользователю скачать файл, если он ввёл правильный пароль. Чтобы он не мог скачать его второй раз по этому же...

XML - записать уже сформированный файл
Доброго времени суток, есть код: ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.УстановитьСтроку(&quot;UTF-8&quot;); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru