@pydjango
Django

Полезная информация и правила: https://github.com/amureki/django_faq Вакансии и резюме: @django_jobs Пофлудить идём сюда: @django_flood Статистика чата: combot.org/chat/-1001063854692

1741 members

Архив канала @pydjango 7 марта 2017 г.

06:29:00 ДП
User 299644
Всем приветы. Есть SPA, на TypeScript, React, Redux. Сервер на джанге + DRF. Есть задача унификации валидации данных на сервере и на клиенте (чтобы до кнопки "Submit" можно было видеть, где чего не заполнено, а где всё ок). Структуры данных с кучей полей, хранятся в итоге в json. Подскажите, на что можно посмотреть. Склоняюсь к jsonschema
06:31:05 ДП
User 299644
Из минусов jsonschema вижу только то, что не нашёл либ для генерации по схеме классов в python (те что есть - динамическое создание типов, IDE'шка не поймёт, чушь я пишу в конструкторе или нормальные поля, мне бы хотелось получить py-файл с базовыми структурами и type-аннотациями)
06:32:47 ДП
06:32:53 ДП
User 205811567
для python
06:34:00 ДП
User 205811567
если коротко то такие схемы
06:34:10 ДП
User 299644
не, именно хочется чтобы и для фронтенда
06:34:35 ДП
User 299644
На бекенд можно и в лоб написать типы (какая разница, писать схему или классы)
06:34:42 ДП
User 299644
а тут готовое решение и туда и туда
06:35:24 ДП
User 299644
User 299644
На бекенд можно и в лоб написать типы (какая разница, писать схему или классы)
ну, тут конечно не совсем так, да, проверку на типы лень самому делать, но хотя бы аннотации будут
06:36:15 ДП
User 299644
может, кто знает как генерить классы по jsonschema? Типа как django делает классы моделек в inspectdb
06:39:02 ДП
User 205811567
google: js object mapping
06:41:29 ДП
User 299644
User 205811567
google: js object mapping
какой-то шибко обобщённый запрос предлагаешь
07:28:15 ДП
User 299919424
User 226624052
Но с докером я так и не разобрался
даже малый бизнессмен разобрался с докером😂😂😂
07:38:00 ДП
User 2895769
а кто-нибудь помнит, почему в __doc__ при описании функции правилом хорошего тона считалось оставлять пустую строку перед закрывающими """?
07:38:43 ДП
User 2895769
это ведь как-то было связано с reStructuredText и форматированием?
07:43:33 ДП
User 2895769
я сейчас интересуюсь темой создания правильной документации с учётом последних достижений науки и техники 😊 (я про PEP 484 и PEP 526), документация генерируется Sphinx'ом и к нему есть плагин с поддержкой type hint'ов https://github.com/agronholm/sphinx-autodoc-typehints , но вот что меня смущает - там этой пустой строки нет (а я точно помню, что она была и на эту тему лет 10 назад я что-то там читал, что это нужно и правильно делать)... 

мой перфекционизм требует, чтобы я разобрался с той пустой строкой и нашёл доказательства того, что она нужна (или же доказал, что она не нужна)
github.com/agronholm/sphinx-autodoc-typehints
sphinx-autodoc-typehints - Type hints support for the Sphinx autodoc extension
07:45:01 ДП
User 2895769
к примеру, вот тут https://pythonhosted.org/an_example_pypi_project/sphinx.html эта пустая строка есть
07:45:16 ДП
User 194990550
https://www.python.org/dev/peps/pep-0257/ может быть тут что-нибудь есть?)
python.org/dev/peps/pep-0257
The official home of the Python Programming Language
07:45:58 ДП
User 2895769
в их примерах этой строки нет, но они не настаивают на том, что её не должно быть
07:46:33 ДП
User 2895769
я помню какой-то пост в блоге, где объяснялось, зачем именно эту строку добавляют, но уже не помню, что там было написано
07:47:26 ДП
User 2895769
возможно, это было актуально для epydoc или какой-нибудь подобной системы
08:41:43 ДП
User 65838284
посоветуйте js либу для графиков
08:44:52 ДП
User 2895769
их много 😊 https://www.sitepoint.com/15-best-javascript-charting-libraries/
sitepoint.com/15-best-javascript-charting-libraries
This article provides a quick overview of 24 JavaScript libraries for creating charts and graphs — from heavy-duty libraries like D3.js to some super-simple options for representing data quickly and beautifully.
08:46:46 ДП
User 65838284
и такой вопрос график лучше рисовать на фронте или на бекенде?
08:49:45 ДП
User 2895769
всё идёт к тому, что бэкэнд - это просто некий API, который возвращает json'ы) а на фронтенде (впрочем, с серверным рендерингом) всё остальное
08:49:59 ДП
User 2895769
ну, или не json'ы, а что-то другое
08:51:38 ДП
User 2895769
но Django это же полноценный MVC, иногда быстрее шаблоны делать на стороне Django
12:21:49 ПП
User 132874636
Есть модель с foreign key. Я обращаюсь obj.fk. Проблема в том что при повторном обращении похоже, что он кешируется. Я что-то не могу найти внятного документацию где это описано.
12:23:52 ПП
User 132874636
Мне не нужно чтобы оно кешировалось.
12:30:55 ПП
User 240629525
Да кеширует. Чтобы ты мог сделать
s = Model.objects.all()
p = Model.objects.all()
2 раза и он дернет базу только один раз
12:32:13 ПП
User 240629525
Чтобы этого избежать сделай коммит
12:36:56 ПП
User 132874636
я не правильно сказал, не FK, а OneToOne
12:38:03 ПП
User 240629525
Там тот же смысл
12:38:33 ПП
User 240629525
Один раз получил и закешировал
12:51:26 ПП
12:51:59 ПП
User 240629525
mailchimp 😊
01:11:16 ПП
User 132874636
про mailgun кстати. я тут подключил к проекту, уже 2 месяца ими пользюсь, но почемуто там ограничение 100 пичем в час. Ингда из за этого ломается отправка почты. Как можно там лимиты повысить?
01:37:09 ПП
User 132874636
Что купить? Там нет тарифов, оплата по факту за количество писем,
02:56:20 ПП
User 18500084
User 132874636
про mailgun кстати. я тут подключил к проекту, уже 2 месяца ими пользюсь, но почемуто там ограничение 100 пичем в час. Ингда из за этого ломается отправка почты. Как можно там лимиты повысить?
Отпиши в суппорт, тебе предложат варианты, думаю
02:57:22 ПП
User 132874636
Отписали, пол дня назад, ждем ответа.
10:04:51 ПП
User 82569033
Гайс, запилил динамическую загрузку страницы. Т.к. проект через функции написан, сделал просто если ajax запрос, то вытащить опр. кол-во данных(кол-во задаю через js). Сейчас все на классы хочу перевести. Т.к. никакой пагинации я не использовал, нужно ли юзать пагинацию в классах? Или можно не особо париться и точно так же повесить все на ajax? Вот код
if request.is_ajax():
        if request.GET.get('value'):
            x = int(request.GET.get('value'))
            thread_ajax = Thread.objects.filter(board=Board.objects.get(board_shortcut=
                                                                        name_board)).order_by('-thread_score')
            FLAG = 0
            if x+5 > len(thread_ajax):
                thread_ajax = thread_ajax[x:len(thread_ajax)]
                FLAG = 1
            else:
                thread_ajax = thread_ajax[x:x+5]
            if FLAG == 1:
                return HttpResponse()
            comment_ajax = []
            for x in thread_ajax:
                if Comment.objects.filter(thread=x).count() > 3:
                    section = Comment.objects.filter(thread=x).count() - 3
                else:
                    section = 0
                if Comment.objects.filter(thread=x)[section:].count() != 0:
                    Not_QuerySet = list(Comment.objects.filter(thread=x)[section:])
                    comment_ajax.extend(Not_QuerySet)
            all = list(thread_ajax) + list(comment_ajax)
            data = serializers.serialize('json', all)

            return HttpResponse(data, content_type='application/json')
10:08:40 ПП
User 240629525
что это таке
10:10:49 ПП
User 82569033
как данные гружу для динамической загрузки контента
10:11:21 ПП
User 240629525
а что ты хочешь?
10:12:20 ПП
User 82569033
сделать все то же самое, только через классы.
10:52:39 ПП
User 82569033
Нет, работает нормально. Просто постигаю классы, пытаюсь сделать более понятным свой код, по этой причине пытаюсь переписать с функций на классы
11:13:42 ПП
User 128333406
копаюсь иногда в репозиториях мозиллы, нашел необычную, как мне кажется реализацию gender поля
      gender = models.NullBooleanField(choices=((None, 'Gender'),
                                              (True, 'Female'),
                                              (False, 'Male')),
                                     default=None)
Обычно видел через int или char))
11:22:20 ПП
User 226624052
User 128333406
копаюсь иногда в репозиториях мозиллы, нашел необычную, как мне кажется реализацию gender поля
      gender = models.NullBooleanField(choices=((None, 'Gender'),
                                              (True, 'Female'),
                                              (False, 'Male')),
                                     default=None)
Обычно видел через int или char))
А какая разница?
11:22:39 ПП
User 226624052
Тру это всегда число отличное от нуля
11:22:56 ПП
User 226624052
Только я не согласен что тру фемейл
11:22:56 ПП
User 109322233
User 128333406
копаюсь иногда в репозиториях мозиллы, нашел необычную, как мне кажется реализацию gender поля
      gender = models.NullBooleanField(choices=((None, 'Gender'),
                                              (True, 'Female'),
                                              (False, 'Male')),
                                     default=None)
Обычно видел через int или char))
11:23:57 ПП
User 109322233
User 226624052
Только я не согласен что тру фемейл
+
11:24:20 ПП
User 82569033
User 109322233
ну так-то гендер человек сам себе выбирает, логично было бы делать не выбор из чего-то, а поле для ввода
11:25:21 ПП
User 226624052
User 82569033
ну так-то гендер человек сам себе выбирает, логично было бы делать не выбор из чего-то, а поле для ввода
Ну вот это всякое в жопу пихание ни к чему хорошему еще не приводило
11:25:26 ПП
User 226624052
Ну как и лесби
11:25:32 ПП
User 128333406
User 226624052
А какая разница?
мне показалось, что это вообще плохая практика boolean использовать. Вот даже число логически, криво как-то.
11:26:38 ПП
User 226624052
Хз, вроде норм, по дефолту нон идет, но вот тру должен быть мейл
11:26:41 ПП
User 128333406
не на уровне БД, а на уровне логическом
11:26:57 ПП
User 82569033
User 226624052
Ну вот это всякое в жопу пихание ни к чему хорошему еще не приводило
как и к плохому, но вообще наверн не стоит это в чате по джанго обсуждать
11:27:14 ПП
User 109322233
User 128333406
не на уровне БД, а на уровне логическом
gender = человек ? male : female
11:27:18 ПП
User 226624052
Ты не всегда определишь какой пол у юзера
11:27:31 ПП
User 226624052
Gender стать
11:27:35 ПП
User 226624052
Пол, во
11:27:38 ПП
User 128333406
User 109322233
gender = человек ? male : female
ну вот иначе тут не понятно ,как)
11:28:06 ПП
User 226624052
User 82569033
как и к плохому, но вообще наверн не стоит это в чате по джанго обсуждать
Лол, ага, ну разве что спид и вич передаются
11:34:45 ПП
User 82569033
https://djbook.ru/rel1.6/topics/class-based-views/generic-editing.html#ajax-example
В форм_валид когда мы входим в else, что у нас представляет response? Я правильно понял, что когда выходит else по факту отработает все как post запрос?
11:36:12 ПП
User 226624052
А как ты аякс собираешься вязать с гетом?
11:40:34 ПП
User 82569033
Я не собираюсь брать гетом, просто я не совсем понимаю, как это работает все