Size: a a a

Django [ru] #STAY HOME

2021 May 24

W

W in Django [ru] #STAY HOME
в одном из view вызывается функция, которая долго выполняется. как прикрутить к ней async? т.е. не ждать конца выполнения
источник

D

Dan in Django [ru] #STAY HOME
сложный вопрос, могу только дать ссылку
https://docs.djangoproject.com/en/3.2/topics/async/
источник

DT

Dan Tyan in Django [ru] #STAY HOME
я бы посмотрел в сторону celery или background тасков
источник

W

W in Django [ru] #STAY HOME
вот по этой ссылке и делал, но вылазит SyntaxError: 'await' outside async function
источник

W

W in Django [ru] #STAY HOME
если не получится обойтись без celery то уже заюзаю
источник

D

Dan in Django [ru] #STAY HOME
если пойдёш к Селери, меня позови, всё никак до неё не дойду)))
источник

VB

Vadim Beglov in Django [ru] #STAY HOME
Господа, вопрос по логерам django

Хочу добавить кастомный fileHandler к стандартному, но почему то после импорта логера он теряется

def get_logger(title: str, directory: str) -> logging.Logger:
   logger = logging.getLogger(title)
   filepath = f'{directory}logfile.log'

   Path(directory).mkdir(parents=True, exist_ok=True)
   Path(filepath).touch(exist_ok=True, mode=0o777)

   file_handler = logging.FileHandler(filename=filepath)
   file_handler.setLevel(LOGGING_LEVEL)
   file_handler.setFormatter(logging.Formatter('{levelname} {asctime} {module} {message}', style='{'))
   logger.addHandler(file_handler)

   return logger


Однако когда я импортирую такой логгер в другой файл - он теряет этот fileHandler и пишет только в стандартные в settings
источник

МП

Михаил Павлов... in Django [ru] #STAY HOME
Впервые вижу как логеры добавляют через функцию.. Обычно объявляют через settings.LOGGING
источник

VB

Vadim Beglov in Django [ru] #STAY HOME
Цель - писать логи приложений в разные папки. Чтобы не писать много fileHandlers в settings, появилась идея добавлять их на лету.) но пока с этим проблема
источник

МП

Михаил Павлов... in Django [ru] #STAY HOME
» Однако когда я импортирую такой логгер в другой файл
В другой модуль?
источник

VB

Vadim Beglov in Django [ru] #STAY HOME
да, вместо getLogger(name)
источник

МП

Михаил Павлов... in Django [ru] #STAY HOME
Продебажьте при импорте, что там добавляется, что там в массиве хэндлеров
источник

VB

Vadim Beglov in Django [ru] #STAY HOME
ок)
источник

МП

Михаил Павлов... in Django [ru] #STAY HOME
источник

МП

Михаил Павлов... in Django [ru] #STAY HOME
источник

VB

Vadim Beglov in Django [ru] #STAY HOME
Благодарю, все получилось. Стандартное объявление того-же logger в сеттингс перезатирало его.
источник

D

Dan in Django [ru] #STAY HOME
ХЕЛП ТОПЧИКИ
а кто нить в питоне работал с шифрованием?
мне нужно перенести одну логику с Нода( там пару строчек, algorithm = 'aes-256-ctr', crypto.createCipher(algorithm, password)
в питне нашел https://cryptobook.nakov.com/symmetric-key-ciphers/aes-encrypt-decrypt-examples
но некоторые моменты ваще не понимаю типа ИВ (
источник

1

1N54N3 in Django [ru] #STAY HOME
django.core.exceptions.SynchronousOnlyOperation: You cannot call this from an async context - use a thread or sync_to_async.


 async def station_update(self, station):
station = await database_sync_to_async(WorkStation.objects.get(pk=station['id']))()
источник

1

1N54N3 in Django [ru] #STAY HOME
источник

N

Nire in Django [ru] #STAY HOME
я думал мы умеем читать и переводить ошибку
источник