
.
21.03.2017
06:38:28
Зачем в ListView метод get принимает request? Вроде он там нигде не используется + у нас уже должен быть self.request. Ну и есть ли разница между self.request и request, например я хочу продлить время жизни сессии, мне нужно обращаться к self.request или к request?

Ruslan
21.03.2017
06:46:51
а если ты захочешь пронаследоваться, и что-то брать из реквеста?

.
21.03.2017
06:49:21
ну так я же могу брать из self.request

Denis
21.03.2017
08:13:05
А если у тебя не подключен request middleware?

Google

Илья
21.03.2017
08:29:35

Denis
21.03.2017
08:34:10
Тогда хз)

Pavel
21.03.2017
09:09:43
Даже в методе dispatch используется request из параметров, а не self. Писанины меньше, наверное. А self.request можно в шаблоне пригодится в виде {{view.request}}, без контекст процессоров.


Артем
21.03.2017
10:09:19
Ребят привет.
Есть задумка чата, так вот по загрузке хтмла создается 2 вебсокет соединения messages и users,
Под messages отдельная табличка, а под users табличка ChatUser, то есть когда кто то логинится срабатывает сигнал on_user_login -> создается юзер с OneToOneField на auth_user_model, соответсвенно при логауте этот темп_юзер удаляется по другому сигналу....Пока так
Так вот при конекте вебсокета опрашивается ChatUser и отдаются все юзеры на клиент....
Я использую channels - очень быстро настривается и вообще гуд
И теперь вопрос по всей архитектуре,
как сделать пуш сообщения чтобы когда кто-то либо логинится либо наоборот логаут, чтобы через вебсокет все клиенты видели что там Ванька Мамкин вышел или вошел в чат....?
Либо что то архитектурно изменить?

Alex
21.03.2017
10:11:20
Пример протокола на вебсокете показать могу, но позже.
И это не на джанге естественно

Артем
21.03.2017
10:12:20

Alex
21.03.2017
10:14:00
а на чем?
У меня с websockets (async) реализовано (не чат, но протокол подходит и для чата)
Ну, у меня связка вообще NucleusApp + websockets + aiohttp
И peewee в качестве орм

Google

Артем
21.03.2017
10:17:00

Alex
21.03.2017
10:17:28
Но вебсокет больновато к джанге крутить, по крайней мере так было раньше

.
21.03.2017
10:45:54
Гайс, метод на 83 строки написал, не влезает в экран, причем там один цикл занимает 64 строки. Я так понимаю, что такие методы делать довольно плохо, лучше наверное цикл в utils запихнуть?

Dan
21.03.2017
10:52:26
лучше внутреность цикла разбить на атомарные методы

Vlad
21.03.2017
10:52:30
Из цикла выноси код в функции.

Centrino
21.03.2017
11:06:01
Создаю файл на сервере, потом прикрепляю его к FileField модели.
Как прикрепить файл к FileField?
Как лучше организовать его загрузку с сервера?

Serge
21.03.2017
11:40:52
from django.core.files import File
model.image.save(file_name, File(open(file_name, 'rb')))

Centrino
21.03.2017
11:41:14
это сохранение на сервер
а в другую сторону?

Serge
21.03.2017
11:41:25
А что надо

Ruslan
21.03.2017
11:41:34
в браузер :)

Centrino
21.03.2017
11:41:41
файл на сервере создан, мне надо дать ссылку на скачивание

Serge
21.03.2017
11:42:01
<a href="{{ model.file.url }}">{{ model.file.url }}</a>
??

Centrino
21.03.2017
11:42:23
спасибо, попробую
просто я по-другому сохранил
создал файл и в FileField присвоил путь. А теперь думаю как выгрузить

Serge
21.03.2017
11:43:23
Если нужно быть уверенным что сайт нужен только для скачивания а не откртие в другом окне, у jquery есть библиотечка
Так делать не надо

Centrino
21.03.2017
11:44:13
да, кривой путь, но не понимаю как иначе сохранить

Google

Serge
21.03.2017
11:44:39
Я скинул, через File сохзранить

Centrino
21.03.2017
11:45:02
File(open(file_name, 'rb'))
То есть он уже должен существовать и джанго себе скопирует?
я через
with open() as fh:
fh.write()
записываю файл

Serge
21.03.2017
11:45:47
нет туда можно поток передать

Centrino
21.03.2017
11:46:15
не могу придумать как

Serge
21.03.2017
11:47:27
file = 'http://www.site.com/image.jpg'
model = Model()
name = urlparse(img_url).path.split('/')[-1]
content = urllib.urlretrieve(img_url)
model.image.save(name, File(open(content[0])), save=True)
Например так
Можно через реквест

Centrino
21.03.2017
11:48:59
файл создается на сервере, это CSV

Serge
21.03.2017
11:49:26
Так чв чем проблема тогда?

Denis
21.03.2017
11:49:34
<a download target="_blank" href="{{ model.file.url }}">{{ model.file.url }}</a>

Centrino
21.03.2017
11:49:56
не понимаю как это сделать. Как его сохранить в модель

Serge
21.03.2017
11:50:13
Я тебе скинул выше как сохранит в модель

Centrino
21.03.2017
11:51:07
пока не понимаю как его переложить на мой случай. Спасибо. Попытаюсь разобраться

Serge
21.03.2017
11:52:42
Так же переложить.
В file_name передай MEDIA_PATH + model.image.url
И используй этот код, потом сделай save
Или если он не в MEDIA то туда где он лежит

Сергей
21.03.2017
12:07:31
добрый день. подскажите куда копать.
как сделать проверку в админке на то, будут ли созданы inline объекты?
и не давать создать объект, если нет ни одного зависимого объекта?

Ruslan
21.03.2017
12:09:33
переопределить save у модели, или у админки (если логика нужна только там)

Илья
21.03.2017
12:19:01
У ModelAdmin есть слещущие методы: save_form, save_model, save_formset, save_related. Копай сюда.

Google

Илья
21.03.2017
12:20:21
Ну и вобще посмотри, другие методы, может более подходящие есть.
changeform_view например

Askhat
21.03.2017
12:22:14
Ребят, подскажите, в heroku как залить проект с Gitlab?
Или может есть где почитать. Не могу найти. Везде описано, про создание проекта только

b0g3r
21.03.2017
13:04:03

Сергей
21.03.2017
13:04:50
как я понял, методы save_formset и save_related переопредять бессмысленно, они вызываются после save_model.
а как я могу в save_model получить список создаваемых зависимых объектов?

Eugene
21.03.2017
20:15:24
https://github.com/django-oscar/django-oscar-mws может кто знает отдельный модуль, без django-oscar?

.
21.03.2017
20:45:47
Гайс, прошу код ревью. Хотелось бы узнать насколько стыдно показывать такой код при устройстве на работу. Понимаю, что код не блещет стэком технологий(да и ничем так-то не блещет), поэтому хотелось бы услышать, что в приоритете лучше посмотреть и соответственно воспользоваться.
https://github.com/YraganTron/Imageboard

Admin
ERROR: S client not available

Eugene
21.03.2017
20:46:44
последовал совету с лурк копипасты?:D
.gitignore где?:)

.
21.03.2017
20:51:22
Ну да, копипаста наше все, с гитигнор обосрался малеха

Eugene
21.03.2017
20:52:36
миграций нет:)
как правила SECRET_KEY и DATABASES выносят из публичных настроек.
где requirements.txt файл?
class Meta в начале модели не хорошо,
test_form что-то мало всего, можно попробовать передать в форму данные и проверить is_valid

Serge
21.03.2017
20:54:54
board.board_posts += + 1
лишний плюс?

.
21.03.2017
20:56:59
Миграции не стал заливать, во-первых их считай там нет, а во-вторых, я так понял, что их обычно заливают, при сложной бизнес-логике.
С классом meta, так до конца и не понял, кто в начале пишет, кто в конце, показалось, что просто разные стили.
Форму специально не проверял на валидность это же вроде автоматически тестируется, нет?

Serge
21.03.2017
20:58:07
Ну миграции надо привести к 1-му файлу и залить

Eugene
21.03.2017
20:59:54
Миграции не стал заливать, во-первых их считай там нет, а во-вторых, я так понял, что их обычно заливают, при сложной бизнес-логике.
С классом meta, так до конца и не понял, кто в начале пишет, кто в конце, показалось, что просто разные стили.
Форму специально не проверял на валидность это же вроде автоматически тестируется, нет?
по поводу https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/ мета
немного не понятны всякие regex вычисление и где большие блоки функции, можно было бы хотя бы комментарии добавить

Google

Eugene
21.03.2017
21:03:59
По поводу миграций, если сделал миграцию и вы работаете в команде, то у другого разработчика без твоих миграций могут возникнуть проблемы.

Serge
21.03.2017
21:05:44
У сорла нет миграций в пакете и это так бесит

.
21.03.2017
21:07:27
насчет комментариев я думал, какие-то большие куски кода комментировать или же комментировать все. Решил, вынести это на суд этого чата. Там где regex это адский костыль, который я как не старался заменить на что-то вменяемое, так и не вышло. Большие блоки функций это обработка форм и utils?

Denis
21.03.2017
21:08:33
Комментировать надо то что не очевидно

Eugene
21.03.2017
21:10:17
меня может быть сейчас осудят. но мне кажется такие импорты не норм : from .forms import CreateThread, AddComment

Serge
21.03.2017
21:10:39
Это норм

Eugene
21.03.2017
21:10:55
Явное лучше, чем неявное.
ну и в django two scops тоже такое не нрав:)

Denis
21.03.2017
21:11:19
В аппах допустимо делать .forms или .models

Serge
21.03.2017
21:11:45
https://github.com/django/djangoproject.com/blob/master/members/views.py

Denis
21.03.2017
21:13:37
Или так )

amureki
21.03.2017
21:19:07
Захочешь задеплоить проект, будешь миграции на сервере создавать? Это неправильный подход

.
21.03.2017
21:20:44
Понял, что нужны миграции

amureki
21.03.2017
21:20:49
Я б посоветовал просмотревшим посоздавать issues, чтоб автор их фиксил, всем лучше так будет

Boris
21.03.2017
21:21:56
Ребят, нужен совет - какой смтп выбрать? Бесплатный штоб

Serge
21.03.2017
21:22:07
Да ладно он сам справится)
Для отправки почты? Ну яндекс вон

Boris
21.03.2017
21:22:56
У яндекса говорят траблы какие то, типа подвисает метод send_mail

Serge
21.03.2017
21:23:35
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.yandex.ru'
EMAIL_HOST_USER = 'USER'
EMAIL_HOST_PASSWORD = 'PASSWORD'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
Я просто регаю и в setting это пишу