Вернуть файл в FBV Django.

Иногда возникают ситуации когда в ответ на запрос в браузере необходимо вернуть файл. Наверное возможно написать, какое нибудь изящное решение используя CBV (функции основанные на классах), но я решил использовать для этих целей FBV(функции-представления).

Возвращать наша функция будет фай с разрешением .dbf, используя метод HttpResponse. Думаю более подробные комментарии излишни, код простой очень. И я выложу его, может кому нибудь и пригодится.

@login_required
def download_dbf(request, num_dbf):
    #Подключаемся на фтп серваер
    ftp = FTP('muftp.ru')
    ftp.login('user', 'password')
    ftp.cwd("nakl")
    ftp.cwd(request.user.username)
    #Загружаем файл
    dbf_name = str(num_dbf) + '.DBF'
    dbf_file = MEDIA_ROOT + '/ftp/' + request.user.username + '/' + dbf_name
    lf = open(dbf_file, "wb")
    ftp.retrbinary("RETR " + dbf_name, lf.write, 8 * 1024)
    lf.close()
    ftp.quit()

    fp = open(dbf_file, 'rb')
    response = HttpResponse(fp) #Важно открыть файл и только потом передать его в HttpResponse
    fp.close()
    response['Content-Disposition'] = 'attachment; filename=%s' % dbf_name
    return response

 

Создание DBF файла в Python 3

dbf11Сомневаюсь, что кому то данные материал пригодится, а также искренне надеюсь, что не пригодится. Ибо работать с dbf в наше то время как то грустно. На так как данный формат файла активно используется до сих пор 1с-сообществом, то иногда приходится иметь дело с  ним. Лично у меня заняло немало времени пока я сформирую валидный dbf файл.

Проблемы возникали практически на всех этапах. И если   с чтением dbf в питоне особых проблем нет, в частности тот же dbfread справляется на ура, да и документация отличная, то с созданием файла пришлось намучиться. На 2-ой питон много прекрасных библиотек для работы c dbf, но все они упорно не хотели становиться на 3-ий питон. Continue reading →

Настройка сканера Orbit MS 7120 LS USB

5656С подключением данного сканера как правило практически никогда не возникало проблем. Драйвера всегда качал с официального сайта и все заводилось «на ура».  Однако в  последний раз пришлось немного повозиться с данным сканером при установке его на Windows 10.

Драйвера скачанные с официального сайта производителя почему то не подошли. На них сканер не определялся, что ввело меня в замешательство. Были подозрения на неработоспособность сканера. Continue reading →

Программирование сканера honeywell ms7120

38130060z01_6По умолчанию для сканера включен интерфейс USB настроенный  в разрыв клавиатуры. В подавляющем большинстве для настройки сканера с новыми конфигурациями 1С этот режим подходит. Но иногда случаются ситуации когда настройки по умолчанию, не совсем подходят для старых конфигураций. Так например, сканер в разрыве клавиатуры с настройками по умолчанию некорректно отрабатывал штрих-коды в конфигурации Управление Аптекой.

Для настройки сканера требовалось установить преффиксы  и суффиксы, и установить их в значение +++. Таким образом после сканирования мы должны были получить штрихкод вида

+++4121232412124+++

Ниже приведу порядок действий ля настройки сканера. Continue reading →

Проброс принтера Kyocera на терминальный сервер Windows Server 2012

Часто приходится решать проблемы с печатью, на терминальных серверах. Благо в операционной системе Widows Server 2012 это сделать не так сложно. Итак на клиенте имеем принтер Kyocera FS-4300, в принципе не важно какая именно модель, инструкция должна подойти для остальных моделей  тоже.

Печатать будем при помощи технологии Easy Print. Основой для заметки брал эту статью.  Отличие  в том, что также пришлось настроить через Редактор  групповой политики. Для их настройки пользуемся командой

gpedit.msc

которую вводим в Win+R.Continue reading →