Size: a a a

Django [ru] #STAY HOME

2021 March 27

YK

Yegor Kowalew in Django [ru] #STAY HOME
Декораторы это стандартная приколюха питона
источник

YK

Yegor Kowalew in Django [ru] #STAY HOME
Иван Масюк
Доброй ночи! Подскажите, кто-то сталкивался с написанием собственных декораторов по типу @ login_required ? Подскажите пожалуйста, где почитать про это можно
источник

Р

Руслан in Django [ru] #STAY HOME
Иван Масюк
Доброй ночи! Подскажите, кто-то сталкивался с написанием собственных декораторов по типу @ login_required ? Подскажите пожалуйста, где почитать про это можно
Можно в исходниках этого декоратора порыться
источник

ИМ

Иван Масюк in Django [ru] #STAY HOME
Yegor Kowalew
Декораторы это стандартная приколюха питона
Может какие-то подводные камни есть
источник

ИМ

Иван Масюк in Django [ru] #STAY HOME
Руслан
Можно в исходниках этого декоратора порыться
Уже там))
источник

ИМ

Иван Масюк in Django [ru] #STAY HOME
Спасибо!
источник

Р

Руслан in Django [ru] #STAY HOME
DukeNsk
Ну я не про брокер, а про хранилище, в которое ты можешь писать быстрее, чем в SQL-СУБД. Тебя же потенциально большое количество операций записи в единицу времени смущает, полагаю?
Нормально ли будет генерить id уведомления о сообщении, отталкиваясь от времени записи в БД сообщения или есть какая-нибудь лучшая практика для этого момента?
источник

N

Nire in Django [ru] #STAY HOME
Руслан
Нормально ли будет генерить id уведомления о сообщении, отталкиваясь от времени записи в БД сообщения или есть какая-нибудь лучшая практика для этого момента?
Уведомления это такая же сущность как и сообщение
источник

N

Nire in Django [ru] #STAY HOME
Если ты про логгирование, эт другое
источник

Р

Руслан in Django [ru] #STAY HOME
Понял, спасибо)
источник

Б

Богдан in Django [ru] #STAY HOME
Иван Масюк
Доброй ночи! Подскажите, кто-то сталкивался с написанием собственных декораторов по типу @ login_required ? Подскажите пожалуйста, где почитать про это можно
Например у тебя сайт с платной подпиской, ты можешь сделать @ premium_required декоратор для этого.

или в админке писать

from django.contrib import admin
from .models import Track

@admin.register(Track)
class TrackAdmin(admin.ModelAdmin):
   list_display = ('title','artist’)


вместо

from django.contrib import admin
from .models import Track

class TrackAdmin(admin.ModelAdmin):
   list_display = ('title','artist')

admin.site.register(Track,TrackAdmin)


и много всякого другого
источник

ИМ

Иван Масюк in Django [ru] #STAY HOME
Богдан
Например у тебя сайт с платной подпиской, ты можешь сделать @ premium_required декоратор для этого.

или в админке писать

from django.contrib import admin
from .models import Track

@admin.register(Track)
class TrackAdmin(admin.ModelAdmin):
   list_display = ('title','artist’)


вместо

from django.contrib import admin
from .models import Track

class TrackAdmin(admin.ModelAdmin):
   list_display = ('title','artist')

admin.site.register(Track,TrackAdmin)


и много всякого другого
Спасибо большое, уже разобрался.
источник

Б

Богдан in Django [ru] #STAY HOME
Как в DRF вернуть стандартные джанговские коды ошибок?
Переопределил  обработчик ошибок

def custom_exception_handler(exc, context):
   response = exception_handler(exc, context)
   if response is not None:
       response.data['status_code'] = response.status_code
       for data in response.data.items():
           print(data)
   return response


print(data) - возвращает

(’ids', [ErrorDetail(string=u'Id does not exists 123432421352', code=u'invalid')])
('sync_time', [ErrorDetail(string=u'Datetime has wrong format. Use one of these formats instead: DD.MM.YYYY hh:mm:ss.', code=u'invalid')])


но в самом респонсе нет кодов ‘invalid’, только строки с сообщение ошибки.
источник

T

Tim in Django [ru] #STAY HOME
Богдан
Как в DRF вернуть стандартные джанговские коды ошибок?
Переопределил  обработчик ошибок

def custom_exception_handler(exc, context):
   response = exception_handler(exc, context)
   if response is not None:
       response.data['status_code'] = response.status_code
       for data in response.data.items():
           print(data)
   return response


print(data) - возвращает

(’ids', [ErrorDetail(string=u'Id does not exists 123432421352', code=u'invalid')])
('sync_time', [ErrorDetail(string=u'Datetime has wrong format. Use one of these formats instead: DD.MM.YYYY hh:mm:ss.', code=u'invalid')])


но в самом респонсе нет кодов ‘invalid’, только строки с сообщение ошибки.
а что в дрф сериализаторе нету ошибок?
источник

Б

Богдан in Django [ru] #STAY HOME
Tim
а что в дрф сериализаторе нету ошибок?
они код ошибки не возвращают
источник

T

Tim in Django [ru] #STAY HOME
Богдан
они код ошибки не возвращают
эм, вот это https://www.django-rest-framework.org/api-guide/status-codes/ не подходит?
источник

T

Tim in Django [ru] #STAY HOME
но если у тебя валидация данных то эти ошибки каждая фирма по своему велосипедит
источник

Б

Богдан in Django [ru] #STAY HOME
это статус код
источник

Б

Богдан in Django [ru] #STAY HOME
а мне нужна каждая ошибка по каждому полю
источник

T

Tim in Django [ru] #STAY HOME
https://www.django-rest-framework.org/api-guide/serializers/#validation это значит тоже не подходит?
источник