@pydjango

Страница 211 из 1273
Ruslan
03.04.2017
06:25:45
камрады, надо реализовать возможность для админа "влезать" в шкуру любого пользователя, очень удобно просматривать, что там за проблема на продакшене

Denis
03.04.2017
06:26:32
https://github.com/arteria/django-hijack

Ruslan
03.04.2017
06:26:49
как лучше это сделать?

https://github.com/arteria/django-hijack
спасибо! я уже сам собрался пилить :)

Google
Denis
03.04.2017
06:28:12
спасибо! я уже сам собрался пилить :)
Перед тем как что то пилить, посетите djangopackages.com

amureki
03.04.2017
06:30:31
спасибо! я уже сам собрался пилить :)
И таких пакетов штуки три минимум, выбирайте наиболее подходящий

Илья
03.04.2017
07:21:10
камрады, надо реализовать возможность для админа "влезать" в шкуру любого пользователя, очень удобно просматривать, что там за проблема на продакшене
Еще есть django-su. Но вообще там писать то функцию login вызвал и все. Я свое написал, потом узнал что есть django-su и кое-что там подсмотрел. Но в итоге к своему дописал.

Народ, мб провокационный вопрос - но в каких случаях используете Flask? Я поймал себя на мысли что использовал его за ~2.5 года только 1 раз Мб я что то не понимаю)?
Я использовал его 3 раза. 2 из них потом переписал на джангу, а один оставил так, т.е. он не требовал развития. Переодически возникает мысля, может что-то полегковесней чам джанга выбрать, для приложения из 300 строк, но я пока ее отгоняю) А то не охота еще раз переписывать.

А вообще у меня в проекте еще два велосипеда своих есть. django-memoize и query builder. Первый мне как-то стремно использовать, т.к. у него там depricated warning вылазит. А второй не поддерживает некоторых конструкций sql которые мне нужны (были нужны).

Илья
03.04.2017
08:11:01
чем в этом случае джанга тяжелая? зачем переписывать то, что работает?
переписывал потому, что проект требовал дальнейшего развития, а на фласке я задолбался писать велосипеды для таких штук которые в джанге есть в виде батареек

amureki
03.04.2017
08:11:34
?

Илья
03.04.2017
08:12:52
ну тяжелая не тяжелая, может не правильно выразил мысль. Просто меня бесит неявное повдение ORM например и шаблонизатора. В случае шаблонизатора то это сейчас решено заменой на jinja2, а в случае ORM тут уже ничего не поделаешь. Если притащить другой ORM, то смысла джангу юзать уже не будет.

Ну и плюс лениво для проекта из 300 строек заморачиваться со структурой настройкми и т.п. Микрофреймворки в примерах все в одном файле запускаются. Это удобно для старта проекта, хотя в итоге все равно получается примерно такая же структура. Хотя справедливости ради отмечу, что джангу тоже можно запустить в одном файле,, но тут надо сделать чуть больше телодвижений, чем скопировать пример из туториала.

Google
Senpos
03.04.2017
08:22:27
А в чем особенность этой Jinja2 над джанговским шаблонизатором?

Доброе утро

amureki
03.04.2017
08:23:11
https://github.com/readevalprint/mini-django

https://github.com/simonw/djng

Илья
03.04.2017
08:24:55
По ссылкке, это не то это дополнительная зависимость.

Вот пример http://ishalyapin.ru/django-%D0%B2-%D0%BE%D0%B4%D0%BD%D0%BE%D0%BC-%D1%84%D0%B0%D0%B9%D0%BB%D0%B5/

amureki
03.04.2017
08:26:35
по первой ссылке то

и по вашей тоже то

Илья
03.04.2017
08:26:49
Ну понятно что 5 минут. А на микрофреймворке это 5 секунд.

разница есть

amureki
03.04.2017
08:27:09
ну да, один раз потратить пять минут или пять секунд

у меня есть зоопарк из трех джанго бекендов, всей команде легче работать в одном фреймворке, чем поддерживать разные

Илья
03.04.2017
08:27:48
для большого проекта это не существенно, я же говорю про мелкие проекты

amureki
03.04.2017
08:27:53
зато ПЯТЬ МИНУТ потратили

Илья
03.04.2017
08:29:57
ну например есть у тебя список заказов и список юзеров. Ты пишешь Order.objects.all() не предполагая выводить юзера. А потом верстальщик в шаблоне в цикле пишет {{ order.user.name }} и внезапоно у тебя добавилось N sql запросов на странице.

amureki
03.04.2017
08:30:49
неявное поведение верстальщика

Ruslan
03.04.2017
08:31:02
ну, отдавай только нужные поля

Илья
03.04.2017
08:31:24
На мой взгляд тут должно вылетать исключение, если не было select_related

Google
Михаил
03.04.2017
08:32:43
Это уже вопрос соглашений

Но по документации это совершенно предсказуемое поведение

Илья
03.04.2017
08:36:05
Ну это логика пхп, что задокументированная бага является фичей. Мы же на питоне пишем, и тут идеалогия что явное лучше не явного. На практие постоянно возникает ситуация, что ты написал вьюху, у тебя 20 запросов на странице. Проходит 2 месяца и у тебя уже 300 запросов на той же самой странице, и разобразться откуда отни там взялись занимает время. Если бы были исключения, то такой проблемы бы не возникало в принципе.

Илья
03.04.2017
08:43:38
Шаблоны пишут верстальщики они ничгео не знают про select_related и даже если знаю не видят код вьюхи.

values не удобно, т.к. нет методов моделей и с ними не работает select_related

Неявность заключается в том, что ты обращаешься в шаблоне к атрибуту, а у тебя выполняется SQL запрос.

Михаил
03.04.2017
08:45:02
А зачем верстальщикам методы моделей?

Не к атрибуту, а к связанной модели

Aleksey
03.04.2017
08:45:19
ага, что-то тут не сходится

верстальщики не знают, что во views, но знают, что в models, если в темплейтах могут обращаться к этим вещам

не лучше вывод данных оставить на программиста?

Илья
03.04.2017
08:46:45
Не к атрибуту, а к связанной модели
это атрибут объекта если че

Михаил
03.04.2017
08:47:53
Который сам по себе модель, а не простой тип

Илья
03.04.2017
08:49:20
Я не монимаю, вы хотите доказать что верстальщик должен знать джангу чтоли? Тогда нафига ему работать верстальщиком, если он может работать программистом и получать больше.

amureki
03.04.2017
08:49:20
не лучше вывод данных оставить на программиста?
как минимум эти шаблоны с джангокодом должны проходить ревью разработчика

Google
Илья
03.04.2017
08:50:06
как минимум эти шаблоны с джангокодом должны проходить ревью разработчика
Это все костыль для обхода проблемы. Лучше полечить проблему на базовом уровне, чем решать костылями ее последствия.

amureki
03.04.2017
08:50:25
и, кстати, это не костыль, относится в целом верстак может такого понаделать и без трогания связанных моделей объекта

везде не выправишь на базовом уровне

Илья
03.04.2017
08:52:30
Например?

Михаил
03.04.2017
08:52:47
А должен ли верстальщик знать циклы и условия, например? Это ведь тоже к его работе не относится, по сути, но в шаблонизации используется

Aleksey
03.04.2017
08:53:11
https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.only

не подойдет?

Denis
03.04.2017
08:53:21
Грамотный верстальщик будет только рад научиться новому

Aleksey
03.04.2017
08:53:38
only и defer

Илья
03.04.2017
08:53:39
циклы конечно должен знать ну и ифы там.

Denis
03.04.2017
08:53:43
Тем более если он работает в компании где это нужно

Илья
03.04.2017
08:54:13
only не спасает, при обращении к другому полю будет выполнен еще sql запрос

Artem
03.04.2017
08:54:30
можно в only() указать поле для того поля

Михаил
03.04.2017
08:54:30
циклы конечно должен знать ну и ифы там.
Зачем? Он же не программист.

Denis
03.04.2017
08:55:00
Зачем? Он же не программист.
Глупые у вас какие то верстальщики

Senpos
03.04.2017
08:56:02
Глупые у вас какие то верстальщики
Это ирония к прошлому сообщению Ильи. :)

Я не монимаю, вы хотите доказать что верстальщик должен знать джангу чтоли? Тогда нафига ему работать верстальщиком, если он может работать программистом и получать больше.

Илья
03.04.2017
08:56:40
Ну знать основы шаблонизатора и знать django это не одно и то же.

Михаил
03.04.2017
08:58:07
Ну если он понимает, что такое цикл и как он работает, то сказать ему - "чувак, вот эта штука делает запрос в БД. Запрос в БД - это медленно. Если она есть в цикле - то это будет в 100 раз медленее", несложно

Google
Михаил
03.04.2017
08:58:47
Выкидывать исключения на каждый такой случай будет еще хуже

Тогда верстальщик КАЖДЫЙ РАЗ будет обращаться к программисту "мне тут надо имя пользователя вывести, добавь select_related"

И так на каждый чих

Потому что все, что явно не было разрешено программистом - запрещено

Илья
03.04.2017
09:00:11
Ну и хорошо, пусть лучше обратится, чам потом таам будет 800 SQL запросов.

Михаил
03.04.2017
09:00:46
Мне просто интересно, как в результате будет воркфлоу построен

Потому что по сути программисту придется сидеть вместе с верстальщиком и править свой код по мере интеграции верстки

Проще тогда ужд верстальщику сверстать голый html и отдать кодеру, чтоб он его на шаблонизатор натянул

Илья
03.04.2017
09:02:00
Не по мере интеграции верстки, а по мере изменения требований. Сначала не было в требованиях выводить имя пользователя, потом стало.

Михаил
03.04.2017
09:02:38
Эти требования клиент напрямую верстальщику пишет?

Если нет, тогда что мешает добавить select_related до начала работы верстальщика?

Требования-то известны

И не будет восьмиста запросов

Илья
03.04.2017
09:03:19
Требования не известны.

Сделали, выкатили. Заказчик посомтрел. Сказал, хочу вот еще тут имя пользователя.

Михаил
03.04.2017
09:03:49
Кому сказал?

Михаил
03.04.2017
09:03:58
Верстальщику или тимлиду?

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