
Denis
11.05.2017
14:05:58
Короч ясно, необоснованный ничем выпад)

Артем
11.05.2017
14:06:01
тут технологии принципиально разные джанго не асинхронный ни разу
так поделился своим мнением

Google

Rookie
11.05.2017
14:07:01
Я не смотрел код channels, но мне кажется, если это работает, не валит тесты и так далее, то чобы и нет?
Опять же. Допустим, тривиальная задача. Кидать оповещения по приложению о каких то ивентах в реальном времени. Почему би и не заюзать?
бы

Ruslan
11.05.2017
14:10:01
longpoll

Rookie
11.05.2017
14:10:41
))
Да хоть торнадо. Я о том, почему не взять то, что уже есть теперь в джанге?

Сергей
11.05.2017
14:16:10
всем привет. подскажите, могу ли я как-нибудь получить MAC адрес пользователя, отправляющего запрос?

Tigran
11.05.2017
14:18:03

Сергей
11.05.2017
14:21:55

Grigoriy
11.05.2017
14:35:48
Привет. Юзаю DRF - у меня для некоторых моделей почему-то save вызывается 3-4 раза при выполнении POST запроса на соответствующую вьюшку, унаследованную от ListCreateAPIView
Кто-нибудь с таким сталкивался?

Ruslan
11.05.2017
14:37:08
commit=True везде?

Grigoriy
11.05.2017
14:39:25
Нет, просто переопределяю метод save для модели как
def save(self, *args, **kwargs):
self.full_clean()
return super(ModelName, self).save(*args, **kwargs)
собственно для этого full_clean всё и затевается

Ruslan
11.05.2017
14:47:23
похоже на метод формы

Google

Aleksey
11.05.2017
16:11:26
Друзья поясните, за что хейтят джанго орм?

Denis
11.05.2017
16:13:33

Артем
11.05.2017
16:23:33
Подскажите плиз
в такой выборке сократить кол-во запросов к базе
premium_posts = Post.objects.filter(premium=True)
big_slider = Post.objects.filter(big_slider=True)
small_slider = Post.objects.filter(small_slider=True)
reviews = Post.objects.filter(heading=2).order_by("-viewed")[:10]
если вначале сделать
qs = Post.objects.all()
и потом от него(qs) уже фильтровать это упрощает взаимоействие ?

.
11.05.2017
18:16:39
Гайс есть 2 вопроса насчет бд
1)Как иметь на каждую ветку свое состояние бд?
2)Удалил одну таблицу, как мне её теперь заново создать?

Aleksey
11.05.2017
18:20:43

Никита
11.05.2017
18:25:25
Для асинхронности нужно весь фреймворк переписать.

Рустам
11.05.2017
18:30:45
Обещали вроде что-то

Eldar
11.05.2017
18:34:56

Ruslan
11.05.2017
19:36:06

Denis
11.05.2017
19:41:29
И никакой модуль для гит не нужно использовать
Просто в каждой ветке закомитить нужные настройки

amureki
11.05.2017
20:11:51

Eldar
11.05.2017
20:12:48

amureki
11.05.2017
20:13:06
?

Ruslan
11.05.2017
21:37:34

Artyem
12.05.2017
05:10:13
Обещали вроде что-то
есть django channels, первоначально их думали сделать именно частью самой джанги, но потом переобдумали и оставили отдельным проектом но под официальной эгидой джанги.

Рустам
12.05.2017
05:11:46

Mikhail
12.05.2017
05:13:20

Google

Рустам
12.05.2017
05:14:07
Я не утверждаю, не работал с ними, выше были разговоры

Mikhail
12.05.2017
05:15:36
наверняка есть более удачные решения. Но вряд ли найдётся что-то кроме каналов такое, что настолько же органично впишется в джангу

Artyem
12.05.2017
05:15:52
Сам не юзал, упоминания о успешном применении в продакшене встречал ни раз и не два.

Mikhail
12.05.2017
05:18:07
дисклеймер: в бою под нагрузкой каналы не использовал. Но сделал на них прототип для коллективного редактирования документов и сохранения в джанге. Удобно

Рустам
12.05.2017
05:18:12
Asyncio интресная штука, в скором времени в продвкшен с ней выйти
Есть у кого нибудь опыт в продакшене с ней?

Mikhail
12.05.2017
05:19:04
aiohttp

Artyem
12.05.2017
05:24:05
Asyncio - тут наверно стоит сразу рассматривать использование с python 3.6 - в этой версии либа приобрела окончательный вид, надо только подождать до выхода 3.6.2. А так про успешное использование слышно гораздо больше чем про каналы джанги.

Mikhail
12.05.2017
05:29:21
разные кейсы, ящитаю
если писать с нуля и без джанги, то определённо имеет смысл использовать asyncio. Или скорее всё же aiohttp

Alexander
12.05.2017
06:11:01
Всё ок с ними

Vlad
12.05.2017
06:30:18
Вчера спрашивал про пагинацию аяксовую. В итоге легче самому написать

amureki
12.05.2017
06:43:44
Легче написанное и протестированное использовать :)

Rookie
12.05.2017
06:46:18

Vlad
12.05.2017
07:02:57
Пробовал я el-pagination, с ajax не работало.
Скорее из-за того что не умею готовить её, но подсказать некому

Rookie
12.05.2017
07:07:34

Vlad
12.05.2017
07:15:14
Мне нужен был диг стайл и аякс

Google

Rookie
12.05.2017
07:23:26
Digg прям щас есть.

Vlad
12.05.2017
07:32:28
Аякс?
Ну тогда руки ровнять надо

Rookie
12.05.2017
07:38:23
Аякс я не юзал. Мне не нужен был. Я грю, к вечеру смогу присесть, и сделать аякс. Не думаю, что там что то принципиально другое будет.

Ruslan
12.05.2017
07:39:55
там всё тупо, начни с jquery, посмотри на jquery.form
не забудь прочитать страничку доки про то, как подхватывать csrf token в javascript (я про джангодоку)

Rookie
12.05.2017
07:41:13
А причём пагинация и токен? Или я что то не знаю?

Ruslan
12.05.2017
07:50:55
если только GET, то токен не нужен, я тебе глобально

Admin
ERROR: S client not available

Rookie
12.05.2017
07:56:57
Я запутался( Мы уже получили кверисет, и занимаемся его выводом. Зачем тут запросы и токены(

Ruslan
12.05.2017
07:57:54
забей, я лишь говорил про работу с ajax и django

Rookie
12.05.2017
07:58:09
Сорян(

Vlad
12.05.2017
08:50:10

Rookie
12.05.2017
08:54:42

Centrino
12.05.2017
09:32:13
как убрать из url один get параметр?
Запрашивается listview

Andrey
12.05.2017
09:33:56

Eugene
12.05.2017
09:34:32
request.GET.pop('myvar')

Centrino
12.05.2017
09:34:43
127.0.0.0/spisok/?param=2323
param нужно убрать

Eugene
12.05.2017
09:34:44
get = request.GET.copy()
del get['b']

Centrino
12.05.2017
09:35:52

Google

Eugene
12.05.2017
09:36:18
А что у тебя сейчас возвращается?
Покажи код:)
request.GET.pop('param')
вот так попробуй

Centrino
12.05.2017
09:36:46
у меня просто listview.
Нужно костыль сделать - удалить параметр get запроса

Mikhail
12.05.2017
09:37:48
насколько я помню, так нельзя делать: QueryDict иммутабельны
т.е. нужно сперва сделать их mutable, потом грохнуть значение, а потом убрать mutable :)

Centrino
12.05.2017
09:38:37
да, они иммутабельны. Написано в доках делать:
get = request.GET.copy()
del get['b']
но я не понимаю что потом делать с get? вернуть куда-то?

Mikhail
12.05.2017
09:39:32
request.GET._mutable = True
request.GET.pop('b', None)
request.GET._mutable = False

Никита
12.05.2017
09:39:52
Чего ты хочешь добиться удалением get параметра?

Centrino
12.05.2017
09:41:41
на listview есть разбиение на страницы. При определенных условиях нужно сделать сброс: убрать параметр page и показать первую страницу

Rookie
12.05.2017
09:51:10
Опредалить параметры, передать в шаблон, и всё сделать js ом

Eugene
12.05.2017
09:53:40
Что-то слишком:D

Rookie
12.05.2017
09:53:51
{% if my_param%}
<script>
window.location.replace(ur_url);
</script>
{% endif%}

Eugene
12.05.2017
09:54:57
Можно переопределить def get(self, request, *args, **kwargs): и там попробовать удалить

Rookie
12.05.2017
09:56:28
Я больше чем уверен, что там какое то зло, которого можно избежать.
Более того. Оверрайдить get() настоятельно не рекомендуют. Для этого есть get_context_data()

Centrino
12.05.2017
09:59:17
где можно почитать best-practies по django?
не слышал про get такое.
Спасибо за совет, видимо придется через JS

Rookie
12.05.2017
10:00:03

Centrino
12.05.2017
10:00:36
вилимо я читаю те посты, что входят в другую половину)

Andrey
12.05.2017
10:01:32
Что же это за событие у нас может возникуть такое, что нужно вернуться на первую страницу и это вызвало вопросы?
Не могу представить