
Дмитрий
19.12.2017
08:37:41
Я тут пока пришёл к идеи сделать одно поле-список, в котором записывать все названия декоратора, который навешан на функцию

Никита
19.12.2017
08:39:51

Дмитрий
19.12.2017
08:41:05
чтобы на уровне middleware, я мог обобщить мои функции-вьюхи, пометив их декораторами, для каких-либо проверок на этом уровне

Никита
19.12.2017
08:41:43
Ты их и так можешь помечать декораторами.

Google

Дмитрий
19.12.2017
08:42:20
ты предлагаешь проверки в декораторах писать?

amureki
19.12.2017
08:42:42
Приведи лучше пример своей задачи
Пока это выглядит странно

Jentry
19.12.2017
08:43:37

Dmitriy
19.12.2017
08:43:49

Дмитрий
19.12.2017
08:44:07
api-методы
где-то нужна идентификация пользователя
где-то нужно проверить на валидность определенных параметров
где-то нужно привязать доп параметры к методу

Jentry
19.12.2017
08:44:14
+ за проверки в декораторах

Dmitriy
19.12.2017
08:44:29
Я так делал, ещё можно передавать параметрами что нужно проверять

Никита
19.12.2017
08:44:29

Дмитрий
19.12.2017
08:45:03
чтобы я мог свою вьюху пометить, что она нуждается в том, в том и в том

Pavel
19.12.2017
08:45:41
То есть нужен атрибут функции, а не декоратор?

Никита
19.12.2017
08:45:41

Jentry
19.12.2017
08:45:45
не понятно зачем это делать, навешиваешь все декораторы и все, итак по коду понятно в чем она нуждается, или ты вьюхи динамически генеришь?

Google

Дмитрий
19.12.2017
08:46:10
для динамичности системы)

amureki
19.12.2017
08:46:45

Дмитрий
19.12.2017
08:46:53
у меня щас это реализовано на наследовании от своего BaseView класса, который от View унаследован + доп миксины
Но так как, мне кажется, лучше использовать декораторы, чем полагаться на множественное наследование python

Jentry
19.12.2017
08:49:07
сделай так, чтобы всегда гарантировать по имени класса вьюхи, что она имеет, раздели эти вьюхи как-то логически, обрабатывай отдельно, может быть через какой диспетчер
множественное наследование чем не угодило?

Дмитрий
19.12.2017
08:50:27
хз, чего-то не доверяю я ему, от java всё это идёт и от плюсов) + такие понятия как exploding class hierarchy вызывают неприязнь
Думаете, лучше сделать миксины и всё?

Jentry
19.12.2017
08:53:43
ну это рекомендуемый путь джанги, для этого они и сделали вьюхи классами

Dmitriy
19.12.2017
08:54:00

Jentry
19.12.2017
08:54:30
Я по максимуму использую декораторы внутри вьюхи на методы уже
для этого в джанге есть method_decorator
хелпер, который помогает обычный декоратор навернуть на метод класса (get, post..)

Dmitriy
19.12.2017
08:56:39
Но миксины тоже норм

Дмитрий
19.12.2017
08:57:03
да, я и хочу щас навесить через method_decorator список моих декораторов на class based view

Jentry
19.12.2017
08:57:05
Миксины менее явные и как-то не прижились, а так норм да

Dmitriy
19.12.2017
08:58:02
Не прижились где?)
В джанге они кругом

Arseny
19.12.2017
09:11:58
https://stackoverflow.com/questions/3232024/introspection-to-get-decorator-names-on-a-method

Jentry
19.12.2017
09:14:35
ну это то же самое, что флажки, просто через один метод как в method_decorator

Google

Сергей
19.12.2017
09:15:45
2й ответ интересный

N.B.71th
19.12.2017
09:18:33
Только их и используют же. Смысл плодить одинаковый код?

Jentry
19.12.2017
09:26:30
вот у меня открыт проект на тысяч дцать строк, в нем из миксинов только миддлварь, и ничего не дублируется, просто используются декораторы

Дмитрий
19.12.2017
09:31:16

Саша
19.12.2017
09:32:35
строк кода

Jentry
19.12.2017
09:33:41
нет

Dmitriy
19.12.2017
09:34:32

N.B.71th
19.12.2017
09:35:52

Jentry
19.12.2017
09:37:58

Дмитрий
19.12.2017
09:38:45
а что такое cbv и fbv?

Bogdan
19.12.2017
09:40:01
class/function based view

Сергей
19.12.2017
09:40:17
fbv мне кажется удобней

Arseny
19.12.2017
09:40:56
Холиварная тема

Дмитрий
19.12.2017
09:41:32
class/function based view
А, ясно, а мне cbv кажется удобней get post явно чётко разделяешь логику, никаких if request.method == 'POST' и т д ))

Bogdan
19.12.2017
09:42:43

Саша
19.12.2017
09:44:21
во, давно холиваров не было

Bogdan
19.12.2017
09:45:00
fbv удобней для чего-то не стандартного и когда используется только 1 HTTP метод, например функция смены языка сессии

Сергей
19.12.2017
09:49:58
я не про drf.. там конечно, удобней в cbv.. но для обычного сайта fbv мне кажутся удобными.. к тому-же, если есть насколько форм на странице - это адский ад для классов

Google

Andrey
19.12.2017
09:53:47

Jentry
19.12.2017
09:54:45
казалось бы что там уметь

Сергей
19.12.2017
09:56:24
Если не уметь работать с цбв - то все в них будет казаться Вам адом
а что значит уметь? я работал с cbv, и по крайней мере, как мне кажется, я умею с ним работать.. только вижу, что функцией это можно сделать быстрее и понятнее..
и проблема с несколькими формами - это реально проблема, не зависит от того, на сколько человек хорошо работает с cbv
к тому-же

Grigoriy
19.12.2017
10:27:14
Что это за схема такая чудесная?)

Сергей
19.12.2017
10:27:54
cbv, наследования

Grigoriy
19.12.2017
10:29:48
без поллитра не разобраться

Rookie
19.12.2017
10:54:49
к тому-же
И что к тому же? Большинство классов через 2 родителя от object.

Admin
ERROR: S client not available

Oleksandr ror191505
19.12.2017
10:56:41

Rookie
19.12.2017
10:57:09

Oleksandr ror191505
19.12.2017
10:57:30
Более того, все высшие классы отлично описаны в документации

Rookie
19.12.2017
10:58:08

Vixen
19.12.2017
11:19:45
Привет всем! Если мне нужно вытащить модель из первой джанги на темплэйт второй джанги, то как это организовать?

Pavel
19.12.2017
11:21:38

Bogdan
19.12.2017
11:21:58

Vixen
19.12.2017
11:22:36
В первой хранится информация и апи, вторая поднимает сайт на основе этой информации. Я редактирую захардкоженную страничку сайта

Rookie
19.12.2017
11:23:01

Bogdan
19.12.2017
11:23:15
эм, дичь

Google

Bogdan
19.12.2017
11:23:45
апи обычно юзают через JS, а не бэк
api - имеется в виду REST?

Rookie
19.12.2017
11:25:06

Сергей
19.12.2017
11:26:06
sys.path.append('/path/to/project')
потом from appname.models import ModelName
может как-то так?

Bogdan
19.12.2017
11:27:27
нужно больше инфы о ситуации. где эти 2 джанги находятся, доступ к каким модулям проекта есть и тд

Massimo
19.12.2017
11:32:28
Вопрос
Кто нибудь делал как нибудь учёт недель в БД и как нибудь можно в форме даты указывать неделю а не конкретную дату?
Приведу пример. У нас есть вагонные отгрузки, которые как кот шредингера в течении недели отгруженны и неотгруженны одновременно, и дабы хоть как то учитывать эти квантовые состояния нашего товара Псы хотят чтобы я запили понедельный учет.
Ну а я хочу новый год и спать

Pavel
19.12.2017
11:35:24

Rookie
19.12.2017
11:35:51

Bogdan
19.12.2017
11:35:53

Pavel
19.12.2017
11:36:00

Massimo
19.12.2017
11:36:01

Pavel
19.12.2017
11:36:35

Rookie
19.12.2017
11:36:37
Нет.
Почему? Отгружен, Неотгружен, Хз

Massimo
19.12.2017
11:37:48

Pavel
19.12.2017
11:38:33
ну там int() ещё добавить
или
>>> datetime.datetime.now().isocalendar()[1]
51
там вроде какая-то разница есть с определением первой недели.