Size: a a a

Django [ru] #STAY HOME

2019 November 17

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
i Seven
как в CBV FormView передать параметр, чтобы он попал в метод формы init?
Инит у формы переопредели
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
super() не забудь
источник

iS

i Seven in Django [ru] #STAY HOME
это я понимаю, но нужно в форму саму передать этот параметр
источник

iS

i Seven in Django [ru] #STAY HOME
form.MyForm(count=8)
источник

iS

i Seven in Django [ru] #STAY HOME
как это в CBV делается FormView?
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
i Seven
это я понимаю, но нужно в форму саму передать этот параметр
Ты знаешь что такое метод init? Он вызывается при создании экземляра класса
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
i Seven
form.MyForm(count=8)
В ините из args или kwargs вытаскивай
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
i Seven
как это в CBV делается FormView?
источник

iS

i Seven in Django [ru] #STAY HOME
большое спасибо, то что нужно! лвл ап
источник

MB

Max Block in Django [ru] #STAY HOME
Приветствую!

А можно ли в django определить обработчики ошибок?
Во фласке это просто регистрация функций, примерно так:

   app.register_error_handler(403, _simple_error_handler)
   app.register_error_handler(404, _simple_error_handler)
   app.register_error_handler(Exception, _error_handler)

Мне надо логировать эксепшины, которые случаются в параллельных нитях. Во фласке такие эксепшины получается поймать и залогировать через регистрацию обработчика ошибока. А как быть с django?
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Max Block
Приветствую!

А можно ли в django определить обработчики ошибок?
Во фласке это просто регистрация функций, примерно так:

   app.register_error_handler(403, _simple_error_handler)
   app.register_error_handler(404, _simple_error_handler)
   app.register_error_handler(Exception, _error_handler)

Мне надо логировать эксепшины, которые случаются в параллельных нитях. Во фласке такие эксепшины получается поймать и залогировать через регистрацию обработчика ошибока. А как быть с django?
например, можно мидлварь написать
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Max Block
Приветствую!

А можно ли в django определить обработчики ошибок?
Во фласке это просто регистрация функций, примерно так:

   app.register_error_handler(403, _simple_error_handler)
   app.register_error_handler(404, _simple_error_handler)
   app.register_error_handler(Exception, _error_handler)

Мне надо логировать эксепшины, которые случаются в параллельных нитях. Во фласке такие эксепшины получается поймать и залогировать через регистрацию обработчика ошибока. А как быть с django?
можно свой handler 500 ошибки прикрутить, но это чуток не то
источник

MB

Max Block in Django [ru] #STAY HOME
Да, похоже в джанге это как раз через мидлварь и делается. Там есть специальный хендрел для этого:  process_exception(request, exception)
источник

♚Inojelis in Django [ru] #STAY HOME
🔐{% ɹoƃǝʎ %}
Какая именно вью функция падает?
categories_all
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
♚Inojelis
categories_all
тебе надо искать по lookup филду, а ты ищешь прямо по инстансу связанной модели, пиши примерно category__name__icontains, тогда будет все норм
источник

MB

Max Block in Django [ru] #STAY HOME
Что-то не хочет middleware ловить ошибку в отдельном потоке.
middleware.py:
—————————
class LoggingExceptionMiddleware(MiddlewareMixin):
   def process_exception(self, request, exception):
       logger.error('LoggingExceptionMiddleware.process_exception was called')
       logger.exception(exception)

views.py:
——————————————
def exception(request):
   raise Exception('bla bla')


def exception_in_new_thread(request):
   logger.debug('exception_in_new_thread called')
   Thread(target=buggy_func).start()
   return HttpResponse('ok')


def buggy_func():
   logger.debug('buggy_func called')
   sleep(5)
   raise Exception('hi from buggy_func')


— в случае ошибки в потоке джанги, миддлваре срабатывает нормально. А в случае ошибки в другом потоке — не срабатывает.


Как вы в мире джанги ловите такие ошибки, которые в отдельном потоке случаются?
источник

L

Limontika in Django [ru] #STAY HOME
Есть страница на которой мы можем сохранить какие то начальные данные, потом по желанию пользователя можно добавить еще некоторые данные, это происходит по нажатию на чекбокс(открываются доп поля. p.s. таких можно сделать несколько)
Такой вопрос:
У меня идет сохранение начальных данных в одну таблицу, а  если чекбокс в статусе True, тогда нужно сохранять данные в таблицу, подскажите как такое сделать или как погуглить примерно такой же функционал реализован?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Limontika
Есть страница на которой мы можем сохранить какие то начальные данные, потом по желанию пользователя можно добавить еще некоторые данные, это происходит по нажатию на чекбокс(открываются доп поля. p.s. таких можно сделать несколько)
Такой вопрос:
У меня идет сохранение начальных данных в одну таблицу, а  если чекбокс в статусе True, тогда нужно сохранять данные в таблицу, подскажите как такое сделать или как погуглить примерно такой же функционал реализован?
> У меня идет сохранение начальных данных в одну таблицу, а  если чекбокс в статусе True, тогда нужно сохранять данные в таблицу,

здесь ничего не понятно после чекбокс == True
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Еще раз драсти, такой вопрос: как в UpdateAPIView чекать юзера для модели?
Пошарил в коде, вроде как можно переопределить update_view, вызвав get_object_or_none, а потом obj.user == request.user, перед super. Есть ли получше решения?
источник

J

Juan in Django [ru] #STAY HOME
Судари, подскажите. При model.objects.filter().order_by() возвращает кверисет с повторяющимися записями. Как лечить?
источник