@pydjango

Страница 318 из 1273
Matz
17.06.2017
17:17:57
Взаимодействовать с помощью json, encoder/decoder. Библиотеки уже есть готовые

vadim
17.06.2017
17:28:57
Ребят, может кто подкинет статью/заметку о том как грамотно организовать взаимодействие между приложениями в джанге.
Заметку не подкину, но как у нас подскажу приложения должны быть максимально независимые, те подразумевается повторное использование сделать такое и запроектировать на старте нового проекта - нереально, выйдет сильносвязанный модули с циклическими импортами и тп и тд у нас обычно запил такой apps/core - здесь все модели, утилиты и тп apps/cabinet - бекенды и тп apps/frontend - собственно фронт потом уже когда обкатывается бизнес-логика и процессы, идет разбивака - из apps/core и frontend выдеялем часть и получаем что-то вроде apps/billing - полностью независим от других, предоставляет небольшой API чтобы оным рулить, API это может быть и rest, а может просто настройки. Только не события. ну и так постепенно в core останется общая часть для всего прожекта и кучка реюзабл аппов

Google
Janek
17.06.2017
17:56:59
А обычный вариант нельзя? [x['sensor'] for x in d]
[x['value'] for x in d.sort(key=lambda y: y['sensor'])]

Ему вроде надо извлечь все value из списка, который сортирован по sensor

Alexander
17.06.2017
19:55:06
а вы смотрите coverage с acceptance тестами или только с unit тестами? (или другой вариант: вообще не смотрите coverage, к примеру)

у меня ощущение, что для вот этих вот BDD acceptance тестов coverage не особо полезен

Dmitriy
17.06.2017
20:06:13
Кто-нибудь реализовал популярную сейчас тему "просмотры"? Сколько человек прочитало/посмотрело запись/фото. Интересно, как это можно реализовать. Во вьюхе инкриментить соответствующее поле модели при каждым вызове записи с каким-то id?

Егор
17.06.2017
20:06:30
Можно ли в get_context_data context?

добавить несколько context

Егор
17.06.2017
20:15:26
На одной страничке нужно вывести 4 блока информации с разным фильтром Movie.objects.filter(media_content='t')

Сергей
17.06.2017
20:17:13
context по сути словарь, в get_context_data можно этот словарь расширить, добавив свои ключ-значение

Егор
17.06.2017
20:18:06
хмм , спасибо попробую

Сергей
17.06.2017
20:18:45
ток сначала context = super(ViewName, self).get_context_data()

Google
Vlad
17.06.2017
20:25:48
Использую cache_page для кэширование страницы но если на ней что-то изменяеться(например информация о пользователе) то все равно показываеться старая информация

Alexander
17.06.2017
21:20:56
ток сначала context = super(ViewName, self).get_context_data()
то, что внутри скобочек, писать не нужно

если Python 3

Vlad
17.06.2017
22:50:55
vadim
17.06.2017
23:11:19
дык его сбрасывать надо

Rookie
18.06.2017
05:55:32
Час
Вот и ответ. Подели страницу на кэшируемые куски, определив каждому куску время обновления. И да, сбрасывать кэш.

vadim
18.06.2017
07:55:23
ну или вариант умного кэша - посмотреть все модельки которые используются во вьюхе, повесить сигналы - на удаление обновления и тп, и по сигналам обнулять кэш конкретной вьюхи

Rookie
18.06.2017
07:59:32
ну или вариант умного кэша - посмотреть все модельки которые используются во вьюхе, повесить сигналы - на удаление обновления и тп, и по сигналам обнулять кэш конкретной вьюхи
Ну, это такая сферическая вьюха в вакууме. Обычно там же лоадится ещё вагон из разных мест, и стоит смотреть что в этих лоадах, которые вообще можно закэшить навечно.

vadim
18.06.2017
08:03:36
час тоже оставить но вообще прежде чем кеш цеплять, лучше с базой поколдовать

Alex
18.06.2017
12:36:12
Ребят, вместе вьюхи edit_flat вызывается flat_page как решить эту проблему? не меняя url?

''' url(r'flat/(?P<flat_slug>\S+)/$', views.flat_page, name='flat_page'), ... url(r'flat/(?P<flat_slugi>\S+)/edit/$', views.edit_flat, name='edit_flat'),'''

Решилась проблема перетаскиванием урла edit_flat выше, перед flat_page. Нормальная ли это практика? И как вы решаете подобную ситуацию или отличные прям урлы делаете? Всё таки еарархию лучше соблюдать похожу.

ю

Starky
18.06.2017
15:14:56
Плохой регексп значии

Рустам
18.06.2017
17:58:18
Ребят

привет

юзаю дженерик CreateView

Указал в поле fields='__all__'

Google
Рустам
18.06.2017
17:59:11
как исключить несколько полей?

помню было поле

для этих целей

Zhandos
18.06.2017
17:59:38
fields

вроде

ой

не то

Valery
18.06.2017
18:01:17
Подскажите про DRF serializer = SnippetSerializer(snippets, many=True) и serializer = SnippetSerializer(data=data), получается один и тот же класс делает разные действия? а как это реализовано ? в пайтоне разве есть перегрузка метода в зависимости от данных аргументов?

Рустам
18.06.2017
18:02:02
в админки есть поле exclude, в дженериках такого нету?

в первом случае явно указан параметр many, по дефолту он стоит как false

Valery
18.06.2017
18:06:48
ну а тут например он очевидно другое действие делает

Valery
18.06.2017
18:06:49
elif request.method == 'PUT': data = JSONParser().parse(request) serializer = SnippetSerializer(snippet, data=data)

так я понял, что в первом случае когда дается только дата вызывается метод create класса, а когда дата и инстас то вызвается update

Zhandos
18.06.2017
18:47:40
user = models.OneToOneField(User, on_delete=models.CASCADE) handle = models.CharField(max_length=200, default=user.username) Как правильно написать чтобы по дефолту в модели брала username ?

Zhandos
18.06.2017
19:24:14
спасибо. так и сделал

Alexander
19.06.2017
03:06:42
юзаете graphql? нравится?

[ https://gearheart.io/blog/using-graphql-with-django/ ]

Google
.
19.06.2017
13:08:50
Гайз, хочу чтобы пользователь выбирал кол-во объектов для пагинации, делаю это вот так def get_paginate_by(self, queryset): if self.request.GET.get('paginate_by'): paginate_by = self.request.GET.get('paginate_by') elif self.request.GET.get('paginate_by') == 'all': paginate_by = 10 ** 10 else: paginate_by = self.paginate_by return paginate_byПроблема в том, что если запихать all, то все падает с ошибкой. ValueError invalid literal for int() with base 10: 'all' All это тип вывести все объекты, тут еще проблема такая, что я при All в paginate_by просто пихаю огромное число, что наверное не правильно, но не вижу других решений

Admin
ERROR: S client not available

Сергей
19.06.2017
13:12:52
а когда передаётся all, он до этой функции доходит?

.
19.06.2017
13:13:12
https://dpaste.de/ZdiG

в нужный иф по какой-то причине не заходит

amureki
19.06.2017
13:15:51
elif self.request.GET.get('paginate_by') == 'all': сюда он у тебя никогда не упадет)

ибо если будет значение 'all', то первое условие верно

.
19.06.2017
13:17:19
Бля, да, спасибо большое, там просто сначала пустая строка передавалась

Pavel
19.06.2017
13:32:25
Всем привет! Вопрос по DRF, у меня есть модель Post и с фронта нужно запрашивать объекты, но не по id а по 2м параметрам, как это лучше реализовать? То есть уникальность определяется по 2м параметрам которые я с фронта получаю

Deus
19.06.2017
13:44:23
filters

Передавши параметрами урла

/post?a=b&c=d

Oleh
19.06.2017
13:59:45
Привет! Подскажите, может у кого был опыт подобного рода. Вопрос по django. У меня есть две связанные модели Груз и Контрагенты (каждый груз просчитываем через разных контрагентов). В шаблон передаются Грузы и все Контрагенты. Шаблон строит таблицу, где в каждой строке груз, а в одной из ячеек груза находится таблица с информацией о контрагентах соответствующих этому грузу. Получается первый цикл перебирает все грузы, а вложенный цикл при каждой итерации перебирает всех контрагентов и если он соответствует данному грузу, то выводит информацию о контрагенте. Из-за вложенного цикла шаблон очень тормозит (несколько сотен грузов в каждом по несколько контрагентов)! Как ускорить работу? Спасибо

Tigran
19.06.2017
14:01:59
Привет, нубский вопрос. Как правильно передать параметр в reverse?

роут - 'accounts/confirm-email/(?P<key>[-:\\w]+)/$'

reverse('account_confirm_email', kwargs={'key': context.emailconfirmation.key})

пробую так, жалуется на несуществующий параметр key

Сергей
19.06.2017
14:03:16
Привет! Подскажите, может у кого был опыт подобного рода. Вопрос по django. У меня есть две связанные модели Груз и Контрагенты (каждый груз просчитываем через разных контрагентов). В шаблон передаются Грузы и все Контрагенты. Шаблон строит таблицу, где в каждой строке груз, а в одной из ячеек груза находится таблица с информацией о контрагентах соответствующих этому грузу. Получается первый цикл перебирает все грузы, а вложенный цикл при каждой итерации перебирает всех контрагентов и если он соответствует данному грузу, то выводит информацию о контрагенте. Из-за вложенного цикла шаблон очень тормозит (несколько сотен грузов в каждом по несколько контрагентов)! Как ускорить работу? Спасибо
если модели связанны, можно Груз.select_related по FK. и вытаскивать груз.контрагент(берётся из related_name) почитай про select_related и доступ к связанному объекту.

reverse('account_confirm_email', kwargs={'key': context.emailconfirmation.key})
context.emailconfirmation.key наверно тут проблема?

Google
Tigran
19.06.2017
14:07:12
ага, он почему то пустой..

Сергей
19.06.2017
14:07:41
context - это что?

Tigran
19.06.2017
14:07:46
вот я создаю инстанс context.emailconfirmation = EmailConfirmation.objects.create(email_address_id=context.emailaddress.id)

внутри он генерирует ключ

@classmethod def create(cls, email_address): key = get_random_string(64).lower() return cls._default_manager.create(email_address=email_address, key=key)

но context.emailconfirmation.key почему то пустой

Tigran
19.06.2017
14:10:20
https://pythonhosted.org/behave/context_attributes.html

это контекст behave

т.е у меня вот такой вот степ

@given('a not confirmed email "{email}"') def user_has_not_confirmed_email(context, email): context.not_confirmed_email = email context.not_confirmed_user = get_user_model().objects.create(username='bdd19062017', email=context.not_confirmed_email) context.emailaddress = EmailAddress.objects.create(email=context.not_confirmed_email, user_id=context.not_confirmed_user.id, verified=False) context.test.assertTrue(EmailAddress.objects.filter(email=context.not_confirmed_email, verified=False).exists()) context.emailconfirmation = EmailConfirmation.objects.create(email_address=context.emailaddress) context.test.assertTrue(EmailConfirmation.objects.filter(email_address_id=context.not_confirmed_user.id).exists())

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