@pydjango
Django

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

1741 members

Архив канала @pydjango 22 декабря 2016 г.

02:14:38 ДП
User 2895769
User 89007285
какой ангуляр учить?
возможно, лучше учить Aurelia?
05:47:47 ДП
User 98934915
Да что грязи их нынче развелось
05:49:00 ДП
User 98934915
Я Ember в последнее время потыкиваю
06:07:00 ДП
User 2895769
похоже, что Ember это фреймворк позавчерашнего дня, как и Angular 1
06:07:41 ДП
User 261260366
конкретнее вопрос ставь, пожалуйста
06:14:05 ДП
User 98934915
User 2895769
похоже, что Ember это фреймворк позавчерашнего дня, как и Angular 1
А какие нынче комбайны есть?
Собирать из отдельных компонентов, которые не сильно хорошо стыкуются, надоело, с реактом наигрался уже
06:14:35 ДП
User 2895769
ну вот Aurelia - это современный фреймворк
06:14:40 ДП
User 2895769
а-ля Angular 2
06:14:59 ДП
User 2895769
но там всё равно другие компоненты потребуются, скорее всего
06:15:08 ДП
User 2895769
на js разработка именно такая
06:16:17 ДП
User 2895769
https://habrahabr.ru/post/312022/
habr.com/post/312022
— Эй, я получил новый веб-проект, но, если честно, я не занимался веб-кодингом в течение нескольких лет, и я слышал, все немного поменялось. Ты же самый...
06:16:20 ДП
User 98934915
В смысле чтобы хотя б минимально роутинг/фетчинг встроены были
06:16:47 ДП
User 98934915
Ангуляр второй я еще в бете смотрел
Может, еще раз взглянуть...
06:16:51 ДП
User 2895769
Aurelia, там это есть
06:16:58 ДП
User 2895769
она лучше, чем Angular 2
06:17:28 ДП
User 98934915
Настораживает то, что не слышал ни разу
06:17:44 ДП
User 98934915
Вот именно
06:17:51 ДП
User 158695346
Господа, это же javascript и его экосистема. Пока вы выбираете и скачиваете фреймворк, он уже устареть успеет.
06:17:56 ДП
User 2895769
но, повторюсь, без компонентов на js не очень 😊 советую почитать ссылку выше
06:18:27 ДП
User 2895769
Aurelia - современный фреймворк, а вот ember - уже устаревший)
06:18:41 ДП
User 2895769
User 158695346
Господа, это же javascript и его экосистема. Пока вы выбираете и скачиваете фреймворк, он уже устареть успеет.
👍👍👍
06:18:46 ДП
User 158695346
User 158695346
Господа, это же javascript и его экосистема. Пока вы выбираете и скачиваете фреймворк, он уже устареть успеет.
фремворк и тулчейн к нему
06:19:25 ДП
User 2895769
так а какая разница что там у него с успехом будет?
06:19:37 ДП
User 2895769
прямо сейчас он актуальный
06:19:44 ДП
User 2895769
через 5 лет они все устареют и будут новые
06:19:54 ДП
User 2895769
это js
06:20:11 ДП
User 2895769
ну, лучше настроиться на то, что он всё равно устареет
06:20:25 ДП
User 2895769
можно и jquery использовать)
06:20:45 ДП
User 2895769
и кто-то даже и правда использует
06:21:05 ДП
User 2895769
в общем, js меняется быстрыми темпами
06:21:19 ДП
User 2895769
и только современные фреймворки всё делают в духе последних изменений
06:21:30 ДП
User 2895769
другие старые фреймворки тоже работают, разумеется
06:21:55 ДП
User 2895769
если хочется программировать на js с самыми передовыми фичами - то нужно смотреть на модные фреймворки и брать их
06:22:06 ДП
User 2895769
если это не принципиально - то хоть jquery
06:22:24 ДП
User 2895769
из модных современных - это Aurelia, vue
06:23:01 ДП
User 2895769
а backbone это прямо что-то совсем древнее
06:24:06 ДП
User 2895769
User 2895769
а backbone это прямо что-то совсем древнее
последний коммит там был 20 дней назад https://github.com/jashkenas/backbone/commits/master
github.com/jashkenas/backbone/commits/master
backbone - Give your JS App some Backbone with Models, Views, Collections, and Events
06:24:28 ДП
User 2895769
с такими темпами разработки даже не заглядывая в документацию понятно, что технологии не самые современные
06:24:32 ДП
User 2895769
под капотом
06:25:02 ДП
User 2895769
ну, конечно)
06:25:02 ДП
User 98934915
О жуть
Репозиторий не обновлялся чуть меньше месяца
Все, проект мертв
06:25:21 ДП
User 2895769
это же js, тут каждый год будет новая версия JS
06:26:09 ДП
User 98934915
Таки да, насмотрелся я на дохлые фиддлы, рассчитанные на старые версии реакта, например
06:26:11 ДП
User 98934915
Много их
06:28:07 ДП
User 98934915
Реакт сам классный, но вот обвязка слишком сложная
06:29:34 ДП
User 2895769
мне уже и реакт кажется немного устаревшим
06:29:39 ДП
User 2895769
ему на смену придёт vue
06:31:54 ДП
User 98934915
Поставь брейкпоинт пораньше
06:32:10 ДП
User 98934915
Может, тупо исполнение туда не заходть
06:32:31 ДП
User 98934915
Вряд ли
06:32:37 ДП
User 98934915
В браузере хедеры
06:32:43 ДП
User 98934915
Куки всякие
06:32:52 ДП
User 98934915
А у курла их нет
06:34:03 ДП
User 98934915
Емнип, лиса дает сгенерить команду для курла из истории запросов
06:34:28 ДП
User 98934915
Чтобы прям точь-в-точь было
06:35:49 ДП
User 98934915
Может, хром
Но какой-то из браузеров дает
06:37:16 ДП
User 110033346
Или Postman с расширением для отслеживания запросов
10:10:50 ДП
User 48374918
народ, такой вопрос, мне тут сказали что class based views быстрее работают нежели обычные въюхи 
ктонить слышал чтонить на эту тему ?
10:16:40 ДП
User 100243492
я слышал обратное, что  исходя того, что лукапы это боль для питона, то можно думать, что функции работают быстрей
10:20:42 ДП
User 48374918
по замерам нашел только одну ссылку https://www.quora.com/Are-Djangos-class-based-views-faster-than-regular-views
там говорится что классы в два раза медленее
10:26:27 ДП
User 100243492
User 48374918
по замерам нашел только одну ссылку https://www.quora.com/Are-Djangos-class-based-views-faster-than-regular-views
там говорится что классы в два раза медленее
но удобства написания решает!
10:31:23 ДП
User 48374918
ну в сложном проекте где пригодится наследование, возможно 
мне пока ни разу не пригождались
хотя я честно пробовал
10:46:47 ДП
User 246279572
дарова всем, у меня вопрос: например, у меня есть 2 приложения, в одном определена модель Сервер и создано несколько объектов этой модели в админке; и я хочу в другом приложении для модели сделать поле server_name, которое будет просто CharField но с choices (наскока я понял, он <select>-ом станет) список этих серверов из другого приложения) Как мне этого добиться?

Я пытался сделать например вот так:
# first_app/models.py
from django.db import models

class Server(models.Model):
    server_name = models.CharField(max_length=50)
    ...

# second_app/models.py
from django.db import models
from first_app.models import Server

class AnotherModel(models.Model):
    server_name = models.CharField(max_length=50, choices=Server.objects.values_list('id', 'server_name'))
    ...
10:46:53 ДП
User 246279572
В админке зарегал их как обычно
10:47:06 ДП
User 246279572
Но при запуске сервера ругается, что Модели ещё не загружены.
10:47:52 ДП
User 239800743
ты делаешь квырю в момент загрузки моделей
10:48:21 ДП
User 239800743
админформу запили
10:53:44 ДП
User 48374918
а почему нельзя сделать через foreignkey ?
10:53:54 ДП
User 48374918
будет тот же эфект
10:57:31 ДП
11:02:17 ДП
User 246279572
а если мне надо просто как если бы у меня был список названий ['server1', 'server2', 'server3', ...]
11:03:01 ДП
User 246279572
и мне надо просто таким образом задать полю какое-то значение из перечисленных
11:15:17 ДП
User 48374918
список фиксированый ?
11:16:27 ДП
User 12323717
всем привет, расскажите как вы работаете с существующими базами
11:16:35 ДП
User 12323717
чтобы не писать таблички джанговские
11:16:41 ДП
User 12323717
пожалуйста
11:18:41 ДП
User 48374918
User 246279572
а если мне надо просто как если бы у меня был список названий ['server1', 'server2', 'server3', ...]
class AnotherModel(models.Model):
    server_name = models.CharField(max_length=50, choices=tuple([(i, i) for i in ['server1', 'server2', 'server3']]))
11:19:30 ДП
User 246279572
кхм, я имел в виду "как если бы это был простой список"
11:19:49 ДП
User 246279572
а на самом деле я беру названия объектов модели Сервер из первого приложения
11:19:57 ДП
User 48374918
User 12323717
всем привет, расскажите как вы работаете с существующими базами
только описывать модели под существующую базу
11:20:21 ДП
User 12323717
а если хочется, чтобы служебные таблицы
11:20:24 ДП
User 12323717
были в другом месте
11:20:34 ДП
User 12323717
или в крайнем случае в другой схеме
11:20:38 ДП
User 246279572
кхм, вроде через foreignkey что-то вышло
11:21:03 ДП
User 48374918
User 246279572
а на самом деле я беру названия объектов модели Сервер из первого приложения
ааа, ясно,..... а мой вопрос почему foreignkey не устраивает ?
11:21:22 ДП
User 246279572
ну, например, я не хочу связывать их
11:22:08 ДП
User 107485588
User 12323717
всем привет, расскажите как вы работаете с существующими базами
inspectdb?
11:22:18 ДП
User 110033346
User 246279572
Но при запуске сервера ругается, что Модели ещё не загружены.
А миграции все сделаны?
11:22:18 ДП
User 107485588
генерит модельки на основе базы
11:22:22 ДП
User 48374918
ну в юзерской части я бы переписал init формы, как сделать в админке сейчас не скажу
11:22:46 ДП
User 246279572
User 110033346
А миграции все сделаны?
йеп
11:23:25 ДП
User 110033346
User 246279572
йеп
Просто по описанию ошибки похоже, что надо добавить миграцию с сервером в requirements миграции AnotherModel
11:23:31 ДП
User 110033346
Но это не точно
11:24:02 ДП
User 48374918
User 12323717
были в другом месте
можно описать только те таблицы с которыми работает django 
+ django умеет работать с несколькими базами
11:30:15 ДП
User 246279572
User 48374918
class AnotherModel(models.Model):
    server_name = models.CharField(max_length=50, choices=tuple([(i, i) for i in ['server1', 'server2', 'server3']]))
имхо, через zip проще было
11:31:14 ДП
User 48374918
для zip нужно два списка вроде
11:31:44 ДП
User 48374918
пример можно ? я с zip-oм не очень дружу
11:32:26 ДП
User 246279572
тогда можно список в переменную определить
11:32:59 ДП
User 246279572
a = ['server1', 'server2', 'server3']
tuple(i for i in zip(a, a))
11:33:10 ДП
User 48374918
ну да возможно, в любом случае этот способ не подходит
11:38:39 ДП
User 12323717
спасибо
11:41:49 ДП
User 78406663
User 246279572
a = ['server1', 'server2', 'server3']
tuple(i for i in zip(a, a))
а цикл зачем? tuple(zip(a, a))
11:45:35 ДП
User 246279572
точно!
12:11:54 ПП
User 246279572
кхм, смотрите, а теперь я хочу добавить ещё одно поле которое тоже будет списком из значений, но будет зависеть от выбранного значения в первом поле;

т.е. я например выбрал Сервер, а у него базки есть, и я хочу теперь во втором поле сделать список из названий всех имеющихся на сервере базок (которые я уже получил)

т.е. до выбора Сервера из первого поля, второе поле как-бы пустое (возможно даже залоченное) и "подгружается" только после выбора какого-то Сервера из первого
12:12:10 ПП
User 246279572
вот куда мне копать в таком случае?
12:14:04 ПП
User 48374918
либо самому писать ajax
12:14:14 ПП
User 48374918
либо использовать что то вроде smart-select
12:17:44 ПП
User 78406663
https://github.com/rosarior/awesome-django
django-autocomplete-light
https://django-autocomplete-light.readthedocs.io/en/master/tutorial.html#filtering-results-based-on-the-value-of-other-fields-in-the-form
github.com/rosarior/awesome-django
Repository mirror of GitLab: https://gitlab.com/rosarior/awesome-django - rosarior/awesome-django
12:18:55 ПП
User 100243492
User 78406663
https://github.com/rosarior/awesome-django
django-autocomplete-light
https://django-autocomplete-light.readthedocs.io/en/master/tutorial.html#filtering-results-based-on-the-value-of-other-fields-in-the-form
github.com/rosarior/awesome-django
Repository mirror of GitLab: https://gitlab.com/rosarior/awesome-django - rosarior/awesome-django
P.S. на мое мнение, там в списке то еще гавнецо есть!
12:19:27 ПП
User 78406663
Не спорю, но это хороший обзор из того как можно делать.
А autocomplete-light хорошо работает
12:19:52 ПП
User 78406663
В целом никто не мешает и руками :-)
12:20:47 ПП
User 100243492
скорей вопрос - время/качество
12:21:18 ПП
User 246279572
я скорее пилю эту штуку ради интереса — можно ли так
12:21:29 ПП
User 246279572
в админке запилить
12:22:57 ПП
User 100243492
User 246279572
я скорее пилю эту штуку ради интереса — можно ли так
Можно как угодно! Хоть кастомную страницу! А вообще, пилишь свой виджет, либо наследуешь метод для работы с FK или M2M, и говоришь ему, блюдить за получением поля в реквесте, и фильтровать все это взаивисмости от получаемого
12:25:05 ПП
User 246279572
ну да, ну да
12:36:15 ПП
User 246279572
спасибо, будем копать и читать
12:51:01 ПП
User 89007285
да ну нафиг
буду делать с обычним  jquery
а то потону в фреймворках
и заказ не сдам😂
01:09:51 ПП
User 191376311
Всем привет
01:10:47 ПП
User 191376311
Как можно получить содержание всплывающего окна?
01:11:51 ПП
User 191376311
У меня есть сайт на джанго, на нём есть кнопка, которая открывает окошко авторизации через vk api, как мне получить ссылку этого окна?
01:13:16 ПП
User 191376311
https://vk.com/dev/implicit_flow_group
01:13:41 ПП
User 191376311
2 и 3 пункты
01:16:20 ПП
User 89007285
тебе нужна авторизация в вк?
01:18:30 ПП
01:24:17 ПП
User 89007285
тебе токен юзера нужен?
01:24:30 ПП
01:24:49 ПП
User 191376311
он лежит в ссылке редиректа
01:25:10 ПП
User 191376311
мне нужно её вытянуть из всплывающего окна
02:27:31 ПП
User 135467237
Столкнулся с проблемой. Вроде задача тривиальная, но как выгружать картинки для статей в джанго? Храню картинки в папке, но как их выгрузить через {%static ""%} например если и пути прописаны в бд для каждой статьи?
02:34:51 ПП
User 69012486
User 135467237
Столкнулся с проблемой. Вроде задача тривиальная, но как выгружать картинки для статей в джанго? Храню картинки в папке, но как их выгрузить через {%static ""%} например если и пути прописаны в бд для каждой статьи?
тогда <img src={{object.image.url}}>
02:37:25 ПП
User 234491501
А что означает такая запись?
class UserViewSet(viewsets.ModelViewSet):
    permission_classes = ()
02:38:32 ПП
User 234491501
Случаем не "отключить" запрос авторизации для данного кусочка API?
02:41:12 ПП
User 135467237
User 69012486
тогда <img src={{object.image.url}}>
это что такое?
02:42:48 ПП
User 69012486
User 135467237
это что такое?
это пример, из бд ты можешь выгребсти сформированый url, правда если я правильно помню то метод работает только ImageField
02:43:57 ПП
User 135467237
у меня изображения в папке на сервере хранятся
02:44:11 ПП
User 135467237
и привязаны к статьям
02:44:18 ПП
User 135467237
я думал в бд просто пути к ним прописать
02:44:45 ПП
User 110033346
User 135467237
и привязаны к статьям
В примере выше object - статья, image - поле с картинкой
02:49:04 ПП
User 18500084
ну почитайте все таки документацию по джанге
02:51:33 ПП
04:49:30 ПП
User 234491501
Все еще изучаю REST API.
Не знаю поймете или нет. Но попробую.
Как собрать из всех apps/app_name/urls.py urlpatterns
и добавить в router:
router = DefaultRouter()
router.register('api_name', ViewSet)
05:15:03 ПП
User 234491501
Агась! Вижу что навряд можно как я хочу:
http://stackoverflow.com/questions/31483282/django-rest-framework-combining-routers-from-different-apps
stackoverflow.com/questions/31483282/django-rest-framework-combining-routers-from-different-apps
I have a project that spans multiple apps: ./project/app1 ./project/app2 ./project/... Each app has a router for Django REST Framework to incorporate the parts of the API provided by that app: f...
06:27:53 ПП
User 174796016
Ребят как ограничить время жизни обьекта в табличке например до 1 часа  и чтоб он потом исчез, может кто сталкивался или есть какието джанговские встроенные решения на эту тему?
06:29:20 ПП
User 107485588
User 174796016
Ребят как ограничить время жизни обьекта в табличке например до 1 часа  и чтоб он потом исчез, может кто сталкивался или есть какието джанговские встроенные решения на эту тему?
Целери например
06:30:36 ПП
User 174796016
Надо что то наподобии автоклинера мб
06:46:56 ПП
User 261260366
1. добавить в модельку поле с timestamp
2. сделать кастомную django комманду, которая будет фетчить все объекты из таблички, сравнивать timestamp с текущим временем и удалять, если время вышло
3. засетапить кронзадачу, которая будет эту проверку совершать каждые n-минут
06:52:24 ПП
User 174796016
User 261260366
1. добавить в модельку поле с timestamp
2. сделать кастомную django комманду, которая будет фетчить все объекты из таблички, сравнивать timestamp с текущим временем и удалять, если время вышло
3. засетапить кронзадачу, которая будет эту проверку совершать каждые n-минут
буду разбираться с 3 пунктом
06:52:30 ПП
User 174796016
спасибо
07:41:44 ПП
User 82569033
Гайс, хочу в аякс запросе передать django переменную. Я так понимаю, что это мы делаем как-то так
$.ajax({
            type: 'GET',
            dataType: 'json',
            data: tooltip,А как теперь во вьюхе вытащить tooltip?
07:42:46 ПП
07:42:55 ПП
User 378433
а разве так передается в жквери?
07:43:01 ПП
User 378433
разве data не должно быть объектом?
07:43:15 ПП
User 378433
ну в общем случае - request.GET.get('some_parameter')
07:43:26 ПП
User 120578100
{{ переменная }}
07:43:33 ПП
User 378433
или self.request.GET.get('some_parameter') в CBV
07:44:11 ПП
User 120578100
User 378433
ну в общем случае - request.GET.get('some_parameter')
+
07:45:26 ПП
User 82569033
не выходит, мб я и не так передаю
07:45:47 ПП
User 378433
ну да
07:45:48 ПП
User 378433
я ж говорю
07:45:53 ПП
User 82569033
var tooltip = $(this).data('num');
        $.ajax({
            type: 'GET',
            dataType: 'json',
            data: tooltip,
            url: '/AjaxTooltip.json',
            succes: function (data) {
                alert(data)
            }
07:45:54 ПП
User 378433
data должно быть объектом
07:46:33 ПП
User 378433
$.ajax({
   type: 'GET',
   data: {
       tooltip: 'text',
    },
    url: '/AjaxTooltip.json'
})
07:46:58 ПП
User 378433
остальные параметры по вкусу
07:47:11 ПП
User 82569033
понял
07:47:13 ПП
User 82569033
благодарю
08:08:20 ПП
User 103952421
Получается туда кроме аякса ничего не впихнуть, например js код?
08:08:33 ПП
User 378433
куда?
08:08:56 ПП
User 103952421
В джангу
08:09:19 ПП
User 378433
хоспаде
08:09:25 ПП
User 378433
причем тут джанга и js?
08:09:35 ПП
User 378433
хотите хоть писос на голове держите
08:09:40 ПП
User 378433
джанга это бэкенд
08:10:06 ПП
User 378433
который рендерит html
08:10:12 ПП
User 378433
или json
08:10:14 ПП
User 378433
или xml
08:10:18 ПП
User 378433
или еще что-то
08:10:22 ПП
User 103952421
Request же принимает параметры?