
Евгений
17.04.2018
19:17:43

amureki
17.04.2018
19:18:10

Евгений
17.04.2018
19:18:52
Глупость, на самом деле. Просто хотел чтобы показывалось фамилия и имя, но не полностью. Не критично ниразу, больше цепляет в чем проблема.

Google

Eugene
17.04.2018
19:21:29
IndexError. string index out of range?
походу где-то у тебя пустая строка


Евгений
17.04.2018
19:24:19
Кстати... Друзья, в таком случае у меня есть другой вопрос. Скорее всего таки есть, но я не знаю как это исправить. У меня вместе с нужным мне обьектом покупателя где то "за кулисами" создается еще один, пустой. Опять же не совсем понимаю почему. Код вьюхи можно показать?)
https://dpaste.de/aQ6Y
Как я понимаю, проблема в 3-4 строке, но не совсем понимаю в чем она конкретно выражается. Может глупость написал, но с точки зрения пайтона вроде правильно.
Как я понимаю, вместо одного обьекта - создается 2.
Примерно схожая ситуация, есть у меня с еще одной вьюхой. Там я придерживаюсь примерно такой же логики при работе с сессиями. Либо у меня логика не правильная, либо я чего то не знаю/не понимаю в работе джанго. Потому что с данной вьюхой возникакет такая же проблема, иногда(именно иногда!) она создает много пустых корзин, при загрузке/обновлении страницы. Сколько я не пытался понять закономерность - не выходит. Вот код, собственно:
https://dpaste.de/f42G
Там со 2 по 7 строку интересующий меня код. Был бы очень признателен, если бы кто то из более опытных и знающих людей подсказал, что я делаю не так.
Гайс, хоть напишите кто то что я задаю слишком глупые вопросы и мне нужно идти читать доки... А то это мой 3ий вопрос в данном канале, и его настигает судьба предыдущих. Гробовая тишина... †


Скрудж
17.04.2018
19:49:14
Учи матчасть

amureki
17.04.2018
20:01:11
https://dpaste.de/aQ6Y
Тут много вопросов возникает
В целом, сначала подумай, если ты делаешь 1к1 карт и кастомера, почему бы при создании кастомера (ибо он же главная модель?) не создавать заодно и карт (переопределяешь у одной модели save метод, в нем пишешь создание инстанса второй связанной модели)
Ты говорил что форма валидна и все поля обязательны, а сам делаешь Customer.objects.create() - где происходит попытка создания кастомера вообще без всего, очевидно оно фейлится и на стр методе - данных то нет
if not hasattr(cart, 'customer'): - лишнее, достаточно просто if not cart.customer - но смотри мой первый коммент, такой ситуации типа не должно быть, если ты в структуре бд говоришь что у тебя каждому кастомеру будет относиться своя корзина
Ну и так далее
Стоит подтянуть модели, их поля, связи
Возможно посмотреть если есть туториалы или исходные коды магазинов на джанге, чтоб подсмотреть что-то

Google


Евгений
17.04.2018
20:08:02
Тут много вопросов возникает
В целом, сначала подумай, если ты делаешь 1к1 карт и кастомера, почему бы при создании кастомера (ибо он же главная модель?) не создавать заодно и карт (переопределяешь у одной модели save метод, в нем пишешь создание инстанса второй связанной модели)
Ты говорил что форма валидна и все поля обязательны, а сам делаешь Customer.objects.create() - где происходит попытка создания кастомера вообще без всего, очевидно оно фейлится и на стр методе - данных то нет
if not hasattr(cart, 'customer'): - лишнее, достаточно просто if not cart.customer - но смотри мой первый коммент, такой ситуации типа не должно быть, если ты в структуре бд говоришь что у тебя каждому кастомеру будет относиться своя корзина
Ну и так далее
Еще хотел уточнить, если можно. Со второй вьюхой такая же проблема выходит? Просто я пробовал в shell сначала всё прописывать, вроде работало так как должно(именно что касается извлекания id из сессии). Или проблема может быть в самих сессиях(опять же, что то не так задал)?


amureki
17.04.2018
20:18:55
По второй - там как-то навалено не аккуратно сейчас, я не смотрел
Вообще, изучаем pdb - мастхев штука для любого пайтон разработчика
Кидаем брейкпоинт сразу в начале функции и по шагам идем по каждой строчке и смотрим контекст, что есть, чего нет, где что не отрабатывает
Полезные ресурсы про это
https://medium.com/instamojo-matters/become-a-pdb-power-user-e3fc4e2774b2
https://github.com/spiside/pdb-tutorial

Евгений
17.04.2018
20:30:05

Алексей
17.04.2018
20:41:00
Почему когда в модели все поля буля false, возвращается nonetype, вместо обьекта с полями false, но если хоть один тру то все работает (rest framework)?

Николай
18.04.2018
04:24:09
Если ты отправляешь через форму, то, если false, он вероятно не назначает в запрос переменную и значение. Соответственно если отправляется пустой (всё переменные в false) пост или гет, то может приходить пооностью пустой ответ. Вероятно, у тебя именно такая проблема и нет обработки этой ситуации

Dan
18.04.2018
04:28:35
пинг

Константин
18.04.2018
04:29:22
ping

serbernar
18.04.2018
04:30:26
Понг
Понг

Dan
18.04.2018
04:30:36
мне тут сказали что меня заблокировали в публичных группах
поэтому проверяю

Eldar
18.04.2018
04:34:16

Dan
18.04.2018
04:35:22
https://t.me/PythonBishkek
тут локальный

Sulik
18.04.2018
05:02:15
Понг
вы чё, ребят - на подводной лодке работаете?
ПИНГ - акустический удар.
ПОНГ - вернулся отражённый сигнал от вражеской подлодки.
Дальше что? Торпедный залп?
-Затопить торпедный аппарат номер четыре!
-Так точно!
-Приготовить огневое решение!
-Огневое решение готово...

Ilgiz
18.04.2018
05:04:01
плохая шутка

serbernar
18.04.2018
05:04:13
Очень

Google

Александр
18.04.2018
05:06:29
Пинг-понг это же настольный теннис

Sulik
18.04.2018
05:06:51
Тут многие в IDE работают? Я слышал что это вредит навыкам. Стоит ли перейти обратно на обычный текстовый редактор?

Dan
18.04.2018
05:06:55
пологаю что
есть игра пинпонг
есть устаявшаяся команда ping
созвучный с первым слогом игры
ну и ответ соответсвенно

Sulik
18.04.2018
05:08:26
чем вредит ?
IDE многое делает за вас - проверка на ошибки, переход, импорты, автозаполнение по желанию et cetera et cetera. Потом программист многое забывает
Или нет?

Dan
18.04.2018
05:09:36
ну тогда да...
надо на обычные радакторы переходить

Александр
18.04.2018
05:11:46
Вообще лучше сразу скомпилированный .pyc писать, зачем эти исходники...

Alexander
18.04.2018
05:12:03
с этим вашим гуглом люди библиотечной картотекой разучились пользоваться)

Ilgiz
18.04.2018
05:12:03

Alexander
18.04.2018
05:12:41
выключайте гугл, читайте книги) в библиотеках)
IDE созданы для удобства программиста)

Ilgiz
18.04.2018
05:13:04
без интернета кодить:D

Sulik
18.04.2018
05:13:24
На зачем же до абсурда-то) но, Дэн натолкнул на идею - время от времени стоит переходить на sublime к примеру, а потом возвращаться к JetBrains

Какао
18.04.2018
05:13:39
Или на вим

Alexander
18.04.2018
05:13:40
программирование крупных проектов без IDE невозможно)
а если проект из 10-20 файлов - да как угодно можно)

Ilgiz
18.04.2018
05:14:22

Sulik
18.04.2018
05:15:15
Или на вим
Фига себе ты суровый. Я всего месяц назад узнал как из него выйти - надо всего лишь перезагрузить пк

Какао
18.04.2018
05:15:50

Google

Sulik
18.04.2018
05:16:36
нано
А нам вообще можно так переписываться? Может есть флудилка отдельная?

Алексей
18.04.2018
05:17:32
это про пуши

Dan
18.04.2018
05:17:49

Sulik
18.04.2018
05:18:38
Круто)

Алексей
18.04.2018
05:18:39
@sulikdada а вообще, был где то доклад, где чел из яндекса объяснял, что реально необходимо делать, для того, чтобы рос навык программирования, а не копипаста.

Сергей
18.04.2018
05:18:53
мне кажется программист хороший должен быть больше архитектор чем писатель) в этом и помогают IDE

Ilgiz
18.04.2018
05:19:00

Алексей
18.04.2018
05:19:04
там он объяснял, что по хорошему - должны быть открыты ссылки только на документации.

Sulik
18.04.2018
05:19:33
Ой ё. Дэн, сорри что инициировал такую лютую дискусию?

Ilgiz
18.04.2018
05:19:45
удобство

Алексей
18.04.2018
05:20:15
блин, прости)) думал это ты против IDE)

Sulik
18.04.2018
05:20:29
Я не против, блин!

Ilgiz
18.04.2018
05:20:30
пуши мержи там через консоль удобней

Sulik
18.04.2018
05:20:47
Я просто говорю что стоит чередовать с простым редактором

Алексей
18.04.2018
05:21:05
не знаю, мне удобней когда все в 1 окне и 1 программе...а то куча окон раздражает сильно

Google

Алексей
18.04.2018
05:22:03
аргументы?
ты в любом случае не будешь знать весь функционал того или иного фреймворка или библиотеки. Их слишком много.
Писать нормальный код, используя паттерны и разделение логики и прочих штук - ни одна IDE не поможет. Как и не помешает научиться.
В настоящее время главное уметь хорошо пользоваться документациями и инструментами дебага (не зря же их придумали), чтобы сокращать время разработки. А в голове у тебя все равно всегда будет находится текущий контекст тех данных, с которыми ты работаешь. Попробуй год не работать на django - увидишь как тяжело потом начинать заного.

Sulik
18.04.2018
05:25:01
Это да. У меня неделя ушла на разбор чистой архитектуры, моск вскипел просто

Алексей
18.04.2018
05:25:29
так что не нужно заниматься фигней. IDE стала неотъемлемой частью программирования.
самого процесса*
не вижу ни одного плюса от того, чтобы мне сейчас переключиться, хотя бы и временно, на написание проекта с помощью Notepad++ допустим. Только минусы. И самым главным будет - потеря времени.

Eugene
18.04.2018
05:35:16
?может только пригодится, научится пользоватся shell(можно прям в pycharm) и команды Линукс,

serbernar
18.04.2018
05:36:54
Заного

Ahmed
18.04.2018
06:27:07
Кладу в редис данные с ключем “data”, добавил в настройке префикс cache_, по сути при обращение к ключу я должен так cache_data, но в редисе ключ лежит вот так
cache_:1:data
Как убрать эту строку “:1:”?
CACHES = {
'default': {
'BACKEND': 'redis_cache.RedisCache',
'LOCATION': 'redis://{}:{}/14'.format(REDIS_HOST, REDIS_PORT),
'KEY_PREFIX': 'cache_',
},
}
Использую эту библиотеку https://niwinz.github.io/django-redis/

Artyem
18.04.2018
06:31:28

Lazoreth
18.04.2018
06:52:06
Блин, я спрашивал уже, но может кто-то всё-таки знает? Почему если упаковывать в zip формсет и ещё какой-то список - валидация не работает?

Dan
18.04.2018
06:52:43

Lazoreth
18.04.2018
06:52:43
Точнее вообще если выводить формсет через for цикл то валидация не срабатывает
Бедааа

Eugene
18.04.2018
06:54:07
А ты валидацию вывел?

Dan
18.04.2018
06:54:08
Бедааа
а как ты зипуешь форму ?

Lazoreth
18.04.2018
06:54:46
Да я даже если просто передаю formset в шаблон и вывожу его не через {{ formset }} а через цикл for он всё равно не валидируется
Ошибки нет, просто is.valid() False

Dan
18.04.2018
06:55:13
значит что то не указываешь

Lazoreth
18.04.2018
06:55:36
{{ form_management }} стоит