@pydjango

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

Дмитрий
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
а как она на производительность влияет, сильно?
Влияет, вот я стек из 10 вызовов пробегаю, сто таких операций весьма ощутимо https://ideone.com/E7XxwU

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: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
api-методы где-то нужна идентификация пользователя где-то нужно проверить на валидность определенных параметров где-то нужно привязать доп параметры к методу
Выглядит как задача для декораторов или самих вьюх (общее по миксинм распихать) Это не нужно делать в миддлварях, миддлвари для глобального изменения всего

Дмитрий
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
вот у меня открыт проект на тысяч дцать строк, в нем из миксинов только миддлварь, и ничего не дублируется, просто используются декораторы

Jentry
19.12.2017
09:33:41
нет

Dmitriy
19.12.2017
09:34:32
Вот я тоже к этому хочу стремиться))
Это не серебряная пуля, всегда нужно понимать зачем ты это делаешь и исходить из этого

Дмитрий
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
fbv мне кажется удобней
серьезно? а давай это в fbv преобразуем https://pastebin.com/A4VAV0GE

Саша
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
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
без поллитра не разобраться
Не согласен. Все просто и очевидно

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

Rookie
19.12.2017
10:58:08
Более того, все высшие классы отлично описаны в документации
Более того, никто не заставляет использовать что то помимо View

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

Bogdan
19.12.2017
11:21:58
Привет всем! Если мне нужно вытащить модель из первой джанги на темплэйт второй джанги, то как это организовать?
А это как (вытащить модель из первой джанги) из 1.х в 2.0? Хотите переехать на новую версию или что?

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
api - имеется в виду REST?
Я уж собирался возмутиться))

Сергей
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
Кто нибудь делал как нибудь учёт недель в БД и как нибудь можно в форме даты указывать неделю а не конкретную дату?
strptime умеет 2017-W24-1 превратить в "первый день 24 недели 2017 года, неделя начинается с понедельника"

Bogdan
19.12.2017
11:35:53
Pavel
19.12.2017
11:36:00
strptime умеет 2017-W24-1 превратить в "первый день 24 недели 2017 года, неделя начинается с понедельника"
ну то есть превртаить в дату, которая соответсвтует понедельнику ...

Pavel
19.12.2017
11:36:35
А конкретно неделю нельзя указывать?
"неделя, в которой есть 14 декабря"?

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

Massimo
19.12.2017
11:37:48
Почему? Отгружен, Неотгружен, Хз
Ну он точно отгружается в течении недели.

"неделя, в которой есть 14 декабря"?
НЕт, например как на настенных календарях, например сечас идет 51-ая неделя

Pavel
19.12.2017
11:38:33
ну там int() ещё добавить

или >>> datetime.datetime.now().isocalendar()[1] 51 там вроде какая-то разница есть с определением первой недели.

Страница 800 из 1273