Сохранен 513
https://2ch.hk/pr/res/847091.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Python Thread

 Аноним 24/09/16 Суб 01:49:33 #1 №847091 
14746709739120.jpg
https://github.com/TheKnightsWhoSayNi/info/wiki/Hat

Прошлый: >>838684 (OP)
Аноним 24/09/16 Суб 06:10:06 #2 №847140 
>>847046
>Как можно посмотреть, какой код находится внутри {{ form.as_p }}
Посмотри на код отрендеренной HTML страницы, там у полей формы должен быть атрибут id - можешь написать свои стили для полей. Должно быть что-то типа "id_<имя поля>"
Или, наверное, можно в пределах тега <form> всем инпутам задавать стили оформления. Добавь форме какой-то свой id и можешь менять стили только для нее.
Можешь еще форму отображать просто как {{ form }}. В это случае поля не будут обернуты в тег <p> - возможно, тебе это поможет.
Аноним 24/09/16 Суб 11:05:52 #3 №847186 
>>847091 (OP)
Как переименовать файлы с 00.txt на 0000.txt на питон?
Юзаю портабельный питон.
Аноним 24/09/16 Суб 12:20:17 #4 №847217 
You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to 127.0.0.1:8000/auth/login/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings.

Че он хочет от меня-то блядь? У меня форма авторизации, которая отправляет логин-пароль.
Аноним 24/09/16 Суб 12:23:33 #5 №847219 
>>847186
Решено с помощью Bulk Rename Utility.
Аноним 24/09/16 Суб 12:31:16 #6 №847222 
>>847217
разобрался
Аноним 24/09/16 Суб 13:54:07 #7 №847274 
У меня есть вьюха index, темплейт которой включается в main.html.

return render_to_response('store/index.html',
{'books': latest_books_list,
'username': auth.get_user(request).username})
Внутри темплейта вьюхи у меня есть {{ username }}, он нормлаьно отображает юзера. Как сделать так, чтобы активного юзера можно было передать в main.html? У меня в main.html бар, в котором должен отображаться юзернейм.
Аноним 24/09/16 Суб 14:20:04 #8 №847288 
>>847274
{{ request.user }}
Аноним 24/09/16 Суб 14:31:01 #9 №847295 
>>847288
Хуйня, не пашет, че только не перепробовал, ни в какую. В чем может быть проблема?
Аноним 24/09/16 Суб 14:37:06 #10 №847297 
>>847295

Да, забыл сказать, что нужно еще добавить в настройках шаблонов строку 'django.template.context_processors.request'

В файле settings.py TEMPLATES --> OPTIONS --> context_processors - там увидишь
После этого ты будешь иметь доступ к объекту request из любого шаблона
Аноним 24/09/16 Суб 14:39:50 #11 №847298 
>>847295
>>847297
Разобрался, хуево было отформатирована переменная. Джанге оказывается строго важно, чтобы внутри {{ }} не было переносов строк и т.п хуйни.
Анону все равно сенкс
Аноним 24/09/16 Суб 22:09:53 #12 №847513 
Что нужно тестировать в маленьком проекте джанги уровня вкатывальщика ?
Аноним 24/09/16 Суб 22:18:43 #13 №847514 
Блин, читаю про объект none, и мне, не знаю от чего, пиздецки страшно стало. Больно странная вообще эта вещь. Я один такой ебанат и буковок боюсь?
Аноним 24/09/16 Суб 22:21:10 #14 №847517 
>>847514
Дай угадаю, ты тот самый поехавший, что в прошлом треде написал прогу, выбирающую из двух YOB?
Аноним 24/09/16 Суб 22:33:37 #15 №847530 
>>847517
А разве не очевидно. Чем вообще можно будет заняться после прохождения курса SoloLearn? У меня уже половина пройдена.
Аноним 24/09/16 Суб 23:47:21 #16 №847564 
14747500414140.png
Попытался я тут освоить отладчик в пичарме наверно единственная вещь через которую можно юзать это джаватормоз и чот не пойму за step out, чому когда я делаю step out, меня перекидывает на этот код вместо могео шкрипта?
Аноним 25/09/16 Вск 14:26:39 #17 №847621 
Хай питоняши, начинающему питоняше нужна помощь, как проверить выход за пределы массива? Я так понимаю, что например array[-1, x] - это просто 2 элемент в столбце с конца?
Аноним 25/09/16 Вск 14:35:17 #18 №847626 
>>847621

Точнее, видимо первый.
Аноним 25/09/16 Вск 15:13:40 #19 №847646 
>>847621
Эксепшен сам вылезет IndexError: list index out of range.
Индекс должен быть один интеджер, твой array[-1,x] не сработает.
Аноним 25/09/16 Вск 16:00:17 #20 №847657 
14748084172200.png
>>847646
а вот и нет
Аноним 25/09/16 Вск 16:02:58 #21 №847660 
>>847646
Вывод поселению строку, либо последний символ
Аноним 25/09/16 Вск 16:27:56 #22 №847675 
14748100762600.jpg
Сап, /pr/. У меня платина, видимо, но я не вижу в факах чёткого и понятного ответа.
Я одминю по жизни, а любой админ - немножко кодер: написать гуёвину на чём-нибудь попроще для каких-нибудь настроекв моём случае Delphi/Lazarus, наваять скриптовое полотенцеVB/sh/Perl и т.п. Есть пара своих проектов, которые начинались на Delphi, потом были подправлены для Lazarus, но на самом деле с того момента, как закончил универ толком не кодил.

Сейчас думаю о том, чтобы освоить Пайтон в первую очередь для своих проектов, а там, может, для своего сайта вместо пыхи, да скрипты универсальные получить, и, что немаловажно для меня - для моего смартфона на SailfishOS можно писать на PyQt, но это потом. Собственно, отсюда и вопрос: допустим я написал прогу с гуём на своём лине, например, на ПайКьют, но я хочу выложить её в паблик в том числе для виндузятников, смогу ли я просто выложить exe/exe+dll или что-нибудь в этом роде, чтобы потенциальным пользователям не пришлось ставить Python? Винды для компиляции и тестирования я найду.

Вообще можно ли как-то без заморочек распространять софт на питоне и в общих чертах (детали найду сам, когда понадобится) - как это выглядит?
Надеюсь, достаточно понятно сформулировал.
Аноним 25/09/16 Вск 16:43:34 #23 №847697 
>>847675
py2exe win
py2app osx
Аноним 25/09/16 Вск 16:57:37 #24 №847705 
14748118580120.png
14748118580131.png
КРЯЯЯЯЯЯ ИДЕ НИНУЖНО, ВОТ Я К ТЕКСТОВОМУ РЕДАКТОРУ АВТОДОПОЛНЕНИЕ ПРИКРУТИЛ И ЗАЕБИСЬ111
Аноним 25/09/16 Вск 17:01:32 #25 №847712 
>>847705
Здесь далеко не всем нужно писать поддерживаемый код для повторного использования. Да и один хуй без знания PEP никакие шармы тебе не помогут сделать правильно.
Аноним 25/09/16 Вск 17:58:10 #26 №847743 
>>847697
>py2exe win
>py2app osx
Это надёжный и рабочий метод без сбоев? И просто интересно, но не критично - можно ли потом из бинарника вырвать текст скрипта?
Аноним 25/09/16 Вск 18:23:52 #27 №847754 
>>847743
Можно конечно, это же питон. Чтоб прям нельзя было выдернуть, это наверное только какой-нибудь cython поможет.
Аноним 25/09/16 Вск 18:24:15 #28 №847755 
14748170552420.jpg
>>847743
Судя по гуглу, можно.
Кстати, подписался на вопрос.
Аноним 27/09/16 Втр 12:14:15 #29 №847802 
>>847754>>847755
Прав был Штирлиц - запоминается последнее. Меня выдираемость сырцов интересует постольку-поскольку, тупо на уровне "есть ли риск, что выложенный таким образом код окажется на govnokod.ru" (а шансы, что если его увидят, то запостят велики, всё-таки скил маленький). Не то, чтобы меня это сильно беспокоило, просто интересно.
Но куда больше мне интересно - насколько этот способ работает и не придётся ли дополнительно что-то изобретать. Ну да ладно. Надеюсь, всё получится, пошёл изучать.
UPD: Пока двощ был в заложниках у абезьяна выяснил, что по версию 5.3 торрент-клиент BitTorrent был написан на Питоне (с версии 6.0 переписан на кресты), значт, в принципе, мои хотелки реализуемы. Начал читать Лутца, нашёл ответ и на второй вопрос. Итак, при запуске py-скрипта от сначала транслируется в байт-код и сохраняет его в файле .pyc, а потом уже этот скомпилированный байт-код выполняется в специализированной "виртуалке" PVM (Python Virtual Machine) и Py2exe упаковывает не "весь Python" + ".py-скрипт", а .pyc + PVM и получить из этого сырцы уже не так просто, как из exe, собранного старым Lazarus'ом Lazarus очень долго добавлял тонны отладочной инфы в exe, включая сырцы и много чего ещё, из-за чего 'Helo world' мог весить 10-20 метров, в комплекте шли тулзы для уменьшения объёма, потом чекбокс "включать информацию для отладки" появился в опциях, а теперь он ещё и снят по умолчанию..
Аноним 27/09/16 Втр 15:28:15 #30 №847817 
>>847802
Я упаковывал с помощью pyInstaller. Там вообще делать ничего не надо - просто запустил, и он сам упакует. Но размеры получаются по 1-2 мегабайта на хелловорлд (потому что это питон). Попробуй ребол. Он и проще и функциональности побольше, да и твой говнокод там вполне идиоматичен будет. И в exe тоже можно экспортировать через XpackerX.
Аноним 27/09/16 Втр 19:38:34 #31 №847858 
c=lambda d:d and d.pop()+c(d)or 0
ПОчему оно не циклится на c([])?
ПОчему сразу возвращает []?
Аноним 27/09/16 Втр 19:53:10 #32 №847863 
>>847675
PyInstaller. Просто как два пальца сломать. Просто поставь, через 5 минут чтения туториала у тебя уже будет билд на руках.

Бугурт только будет от размера приложения. Пару метров будет сам питон, плюс метров 60 будет для каких-нибудь кутей, на которых ты свой двухкнопочный гуй для настроек запилишь. Фиг знает, вроде оптимизируется, но вряд ли до положенных толщин.

Так что сразу разрабатывай огромные программы, чтобы никто не лошил за размер дистрибутива.
Аноним 27/09/16 Втр 21:49:47 #33 №847885 
14750021880820.png
Вот я не пойму. Это карма или что? Почему все функции которые описаны работают, кроме той что мне нужна?
Что я делаю не так?
Аноним 27/09/16 Втр 22:32:14 #34 №847898 
>>847675
>написать гуёвину на чём-нибудь попроще для каких-нибудь настроек
В 2k16 это большая проблема, единственное, что могу посоветовать это wxWidget
> чтобы потенциальным пользователям не пришлось ставить Python?
Сейчас такого дерьма почти нету увы(?)
java/c#/python/ruby/nodejs/php/lisp всем нужна VM
Аноним 27/09/16 Втр 22:36:15 #35 №847900 
>>847898
Есть еще electron для гуевин. Но я лично осуждаю вебокошки.
Аноним 27/09/16 Втр 22:49:30 #36 №847905 
>>847900
Оно медленновасто, а вообще задумка интересная
А еще есть WinJS
Аноним 28/09/16 Срд 02:22:52 #37 №847935 
>>847817>>847863
>pyInstaller
>просто запустил, и он сам упакует
>Просто поставь, через 5 минут чтения туториала у тебя уже будет билд на руках
Хорошо. Буду иметь в виду.
Кстати, посмотрел внимательнее. У Лутца называется три инструмента - py2exe для винды, PyInstaller помимо этого умеет в линь и "способен производить самоустанавливающиеся исполняемые файлы" и некий freeze.

>>847863
>Пару метров будет сам питон, плюс метров 60 будет для каких-нибудь кутей, на которых ты свой двухкнопочный гуй для настроек запилишь
ПИЗДЕЦ.
Чё, серьёзно? о_О
Нет, я всё понимаю, но ведь те же Delphi и Lazarus упихивают в несколько мегабайт свои VCL/LCL и это весит не то чтобы очень много, далеко не 60 метров. Их, пардон, не только по почте не кинуть (в смысле по старинке, вложением к письму), даже на ргхост без реги не залить, там 50 метров лимит напиздел, сейчас - 100, видимо, повысили, но это не отменяет заоблачного объёма!
У меня есть знакомый, который на Delphi переписывал программы без использования VCL на WinAPI и экономил несколько метров в бинарнике, но 60... Да и как я буду писать гуёвый кроссплатформерный софт без кьюта? Правда, у Лутца упоминается некий Tk GUI API (tkinter), но при этом как правило, если заходит речь про GUI и Python сразу же говорят PyQt (у меня выбор в пользу PyQt ещё потому, что на мобиле гуй на кьюте пишется).
Нет, гуй, конечно, будет не двухкнопочным, но, например, я хочу один свой студенческий проект ещё -- решалку для судоку дополнить эвристическими алгоритмами (чисто из интереса, а то тогда она у меня не тянула некоторые особо сложные головоломки), там гуя - 9*9 TEdit'ов + пара TList'ов для отладки, которые в релизе на самом деле не нужны + кнопка "решить". Это может весить 1-5-6 метров. Ну, потолок - 8, но никак не 60.

>>847898
>В 2k16 это большая проблема, единственное, что могу посоветовать это wxWidget
Это вообще не проблема. Ни на каком языке. Ещё до такой популяризации PS я с нашим главным одмином справедливости ради - начал и основную часть работ произвёл он, я скорее шлифовал набросали прогу для добавления пользователя в домен с генератором паролей и созданием почты и шары со всеми правами на Delphi, потом я уже самостоятельно писал прогу для заполнения пользователями дополнительных панелек на телефонах, которая отправляла хотелки на специально выделенную доменную группу распространения. Пользователи те ещё пидарасы были, из какой-нибудь приёмной могли позвонить, потребовать к себе телефониста и дать ему, когда он придёт написанный на куске явно использованной салфетки с остатками то ли кончи, то ли соплей список фамилий со словами "вот этих хотим видеть на телефоне", а уж найти их контакты и прочее - типа наша головная боль, пришлось приучивать к проге.
Такие вполне админские задачи - далеко не верх кодерского мастерства. Для иных задач можно и на AutoIt что-нибудь сочинить, например.

>всем нужна VM
Это детали. Ты же, например, если напишешь программу на C# не будешь кидать юзеру ничего дополнительного, обойдёшься просто экзешникомну да, .net-то у него уже есть наверняка... А вообще .EXE нормального размера + dll/установщик, который нужные либы распихает по системе/что-то в этом духе выглядело бы даже серьёзнее. Может, от PyInstaller'а этого можно добиться.

>ruby/nodejs/php/lisp
Вообще не видел, как такие программы распространяются. В работе видел только PHP и то на апаче, а вопрос кагбе именно в дистрибуции.
Аноним 28/09/16 Срд 08:10:22 #38 №847955 
Ребят, как вставить html код в python, чтобы в консольке цветные буквы были?
Аноним 28/09/16 Срд 08:12:57 #39 №847957 
>>847935
>ну да, .net-то у него уже есть наверняка
Тем не менее, его надо в инсталлер включать.
Я уже всерьез подумываю о плюсах, из-за этого дерьма
Аноним 28/09/16 Срд 08:41:42 #40 №847959 
Никто не знает куда переместили https://code.djangoproject.com/wiki/DjangoResources?
Аноним 28/09/16 Срд 08:51:40 #41 №847960 
Алло, бамп >>847564
неужели никто не пользуется пичармом? знаю что не пользуются, но ведь наверняка установили
Аноним 28/09/16 Срд 08:57:42 #42 №847962 
>>847935
Дегрод, такую то хуйню высрал, даже лень пояснять.
Аноним 28/09/16 Срд 09:24:48 #43 №847969 
В tkinter добавил скроллбар, но стрелки почему-то у него остаются посередине , вместо того, чтобы "разъехаться" вдоль окна. Какое свойство нужно добавить?


#Govnokod prilagaetsya.

root = Tk()

tx = Text(root,width=40,height=20,font='12')
scr = Scrollbar(root,command=tx.yview)
tx.configure(yscrollcommand=scr.set)

tx.grid(row=0,column=0)
scr.grid(row=0,column=1)
root.mainloop()
Аноним 28/09/16 Срд 09:40:40 #44 №847973 
>>847969
Все, разобрался.
Аноним 28/09/16 Срд 10:17:09 #45 №847979 
Бамп посту >>847885 .
Вот декларация класса.
http://pastebin.com/raw/kR107Lhj
Аноним 28/09/16 Срд 10:45:34 #46 №847982 
>>847979
dir показывает что метода colors нет, есть colurs
['_Base__CAPITAL_SPLIT', '_Base__TYPE_MAP', '__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'api_url', 'badge_url', 'colours', 'convert_date', 'convert_float', 'convert_float_list', 'convert_hex', 'convert_int', 'date_created', 'description', 'from_xml', 'id', 'image_url', 'name_from_tag', 'num_comments', 'num_hearts', 'num_views', 'num_votes', 'rank', 'tag', 'title', 'url', 'user_name']

a.colours выдает:
['#6f627a', '#eb0e82', '#ff8080', '#f5d998', '#c8cc95']
Аноним 28/09/16 Срд 10:51:40 #47 №847984 
>>847982
*colours
Аноним 28/09/16 Срд 10:53:07 #48 №847985 
>>847982
Да, ты чертовски прав, это работает.
Какой-то вообще кучерявый модуль. Индексатор пайшарма вообще методы не видит для него, в документации ошибки. Как это прошло в пакэджиндекс неясно.
Аноним 28/09/16 Срд 11:07:17 #49 №847989 
>>847985
А что за приложение пишешь?
Аноним 28/09/16 Срд 11:11:17 #50 №847991 
>>847989
Уже собственно написал. Допиливаю.
Генератор обоев из ascii животных. Все это в фласковой обертке. Вот встал вопрос выбора хороших контрастных цветов, и нашел пару сервисов. Самые лучшие - колорловерс и адобе колорс. Адобе охуенен, но он выдает дату только жабаскриптом, так что там или фантомЖс подключать чтоб кровлить либо искать замену. Вот так вышел на то поделие.
Осталось сейчас прикрутить генератор цветов и задеплоить в хероку. К вечеру выкачу сюды на пощелкать.
Аноним 28/09/16 Срд 11:39:10 #51 №847995 
>>847991
>ascii животных
Это ascii арт? Тип такого:






















Аноним 28/09/16 Срд 11:56:09 #52 №848004 
14750529690980.png
>>847995
Наверное :)
Аноним 28/09/16 Срд 14:37:46 #53 №848038 
Подскажите форумы где можно пообщаться на тему питона.
Аноним 28/09/16 Срд 14:40:32 #54 №848040 
>>848038
https://2ch.pm/pr/res/847091.html
Аноним 28/09/16 Срд 14:49:42 #55 №848042 
>>848040
Зачем ты так со мной?
Аноним 28/09/16 Срд 16:07:22 #56 №848058 
>>848042
За то, що я тебя ненавижу.
Аноним 28/09/16 Срд 18:16:58 #57 №848104 
14750758187860.png
Ну что же.

Кратко: https://asciiwp.herokuapp.com/

Длинно:
После небольшой ебли с хероку, я наконец даю на тест это чудо быдлокода от человека, который не хочет учить питон, но хочет что-то на нем делать.

Суть проста: вы выбираете нужный размер и получаете замечательную уникальную минималистичную (или нет) обоину с преставителями фауны нашей планеты.
Животные берутся из апи, их число неустановлено, ибо выдается одно рандомное за раз. Цветовая палитра парсится с замечательного агрегатора палитр ColourLovers. Цвета принадлежат одной палитре(каждый раз новой), что должно отсеять уебищные и сливающиеся цвета.
Отдельное спасибо хочется сказать мейнтейнерам Pillow, которые до сих пор не могут замержить однолетний патч для многострочного textsize().
Верстка делалась на коленке, ибо десктоп с маком и нужным софтом сейчас недоступен. Слепил из стартеркита бутстрапа.
Вещает через gUnicorn.
Аноним 28/09/16 Срд 18:38:54 #58 №848113 
14750771347790.png
14750771347791.png
14750771347792.png
>>848104
Крутота! Я уже 24 штуки сгенерировал. Ты молодец.
Аноним 28/09/16 Срд 18:42:05 #59 №848115 
>>848104
Скример, лучше не открывайте ссылку.
Аноним 28/09/16 Срд 18:45:24 #60 №848116 
14750775243550.png
>>848113
Да я вижу :)
Спасибо.
Интересно сколько выдержит бесплатный хероку таким темпом.
Аноним 28/09/16 Срд 18:53:20 #61 №848117 
>>848113
Кстати комбинации все-таки бледные-хуевые. Нужно будет эксперементировать с ключевиками для поиска палитр.
Аноним 28/09/16 Срд 21:06:18 #62 №848156 
14750859791040.jpg
Питонеры пионеры как сменить объект рендеринга в pygame??
Аноним 28/09/16 Срд 21:37:50 #63 №848168 
>>848156
ПРОСТО) берешь и меняешь БЕЗ ЗАДНЕЙ МЫСЛИ))
Аноним 28/09/16 Срд 21:38:54 #64 №848170 
>>848115
>>848168
Господин, проследуйте в другой тематический раздел.
Аноним 28/09/16 Срд 21:40:35 #65 №848173 
14750880361020.jpg
>>848168
Аки Бог смолвил
Аноним 28/09/16 Срд 23:20:12 #66 №848216 
>>847959
На гитхабе awesome django
И просто загугли full stack python
Аноним 29/09/16 Чтв 04:44:00 #67 №848261 
>>848216
Спасибо!
Аноним 29/09/16 Чтв 07:25:27 #68 №848265 
>>848104
Код на гит залей
Аноним 29/09/16 Чтв 08:59:53 #69 №848276 
>>848104
В дальнейшем можно будет добавлять свой ascii арт для генерации картинки?
Аноним 29/09/16 Чтв 12:20:01 #70 №848309 
>>848276
Кидайте идеи, я буду пробовать это делать. Как раз научусь решать реальные задачи.
Аноним 29/09/16 Чтв 17:24:55 #71 №848385 
>>848265
вот этому бамп
Аноним 29/09/16 Чтв 17:47:33 #72 №848394 
14751604536070.png
Сегодня времени отвел не много, но успехи есть:

Кратко: https://github.com/thisfieldmustbefilled/ascii-wp
https://asciiwp.herokuapp.com/

Всю дикость привел в порядок, прикрутил контоль версий и настроил PyCharm.
Пробросил автоматический пайплайн из гитхаба сразу в хероку. Все изменения на гитхабе сразу пуш-деплоятся на работающий сайт.
Желающие дописать/подправить мой быдлокод могут делать это штатными методами гит (хотя можно и через тред лол). Хотелось бы не "ты ### твой код ###", а "нужно так а не так".

С темплейтами полное говно, но сейчас я не настроен их делать.

>>848276
Я только сейчас понял что ты хотел. Для этого нужно прикручивать БД, ORM и лепить модели для нее. Это хорошее упражнение, я займусь им. Если охота что-то свое сгенерить то пока костыль: https://asciiwp.herokuapp.com/custom .

При 30 минутах неактива на фри аккаунте Heroku валит воркеры, так что если сайт долго отвечает, значит погодите сервак авоматически подымается (~10сек).

Мимо ваш зеленый питонщик.
Почему так вяло в треде? .hk не резолвится и все забыли про зеркала?
Аноним 29/09/16 Чтв 18:05:00 #73 №848403 
>>848394
А чего убрал кнопки, чтобы сразу генерировать картинки для ноутов и десктопов? Было удобно.
Аноним 29/09/16 Чтв 18:10:05 #74 №848405 
>>848403
Все дело в том, что обработчик форм из короба не умеет в несколько форм, постящих на один и тот же урл. Нужно либо содавать дополнительные маршруты, либо писать более изящный костыль. Я вчера только заметил что кнопка для десктопа выдавала 1366x768 и цсрф токен был у нее тот же. Добавлю фичу в следующем коммите.
Аноним 29/09/16 Чтв 18:20:58 #75 №848408 
>>848394
Что в инпут-то вводить?
Аноним 29/09/16 Чтв 18:23:39 #76 №848409 
>>848408
На лицевой только размеры в пикселях.
На кастоме любой многострочный ASCII из интернета.
Аноним 29/09/16 Чтв 18:25:00 #77 №848410 
14751627005450.png
>>848394
Да, я это и имел в виду.
Аноним 29/09/16 Чтв 18:29:11 #78 №848412 
14751629510800.png
>>848394
Только я не понял по какому принципу подбираются цвета.
Аноним 29/09/16 Чтв 18:32:01 #79 №848413 
>>848412
Отсюда [ http://www.colourlovers.com/palettes ] через API берется одна произвольная палитра цветов с тегом 'spring'. Далее из нее произаольно выбираются два неодинаковых цвета (для фона и для текста). Это можно посмотреть в "lovers.py"
Аноним 29/09/16 Чтв 23:14:00 #80 №848486 
14751800402940.png
иногда получается вот такой пиздец
Аноним 30/09/16 Птн 14:00:48 #81 №848537 
14752332489640.png
>>848486
Да, невозможно толком застраховаться от вырвиглазных паллетов и паллетов из оттенков одного цвета. Я не вижу принципа для создания выборки. В топ-палетах полно кислоты, по ключевикам тоже проскакивает всякое.

UPD. Добавлен более каноничный для ASCII-арта шрифт "Fixedsys". Выбрать можно в форме. Подумываю прикрутить вебфонты или какой-то источник чтобы можно было самому выбрать моношрифт по душе.
Аноним 30/09/16 Птн 14:59:51 #82 №848564 
Пытаюсь установить fann2 на винде(через pip). Выдает ошибку: " UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 1540:
character maps to <undefined>"
Как это можно исправить?
Аноним 30/09/16 Птн 15:05:49 #83 №848568 
>>848564
https://github.com/FutureLinkCorporation/fann2/issues/11#issuecomment-105330040
Наверное, есть смысл взять готовый .whl.
http://www.lfd.uci.edu/%7Egohlke/pythonlibs/#fann2
Аноним 30/09/16 Птн 15:22:33 #84 №848574 
>>848568
Спасибо
Аноним 30/09/16 Птн 16:55:25 #85 №848608 
14752437257530.png
UPD:
https://asciiwp.herokuapp.com/
https://github.com/thisfieldmustbefilled/ascii-wp
Можно выбирать положение арта на обоине.
Разобрался с пиллоу, размер текста определяется верно.
Свернул генератор в одну функцию.

>>848574
Рад что сработало на этот раз. Но на винде питонить не лучшее решение, ящитаю.
Аноним 30/09/16 Птн 19:52:06 #86 №848665 
14752543268130.png
Предлагаю перекатиться с мейловской параши на чан с духом молодости и хардкора.
Аноним 30/09/16 Птн 20:06:03 #87 №848669 
>>848665
А смысл какой? Кинул в закладки, если вдруг поддержат.
Аноним 30/09/16 Птн 20:21:47 #88 №848677 
14752561076000.png
Лучше сюда. Програмач пока дохленький, но сам 8ч популярная и топовая борда с пользовательскими досками (онли), зеркалом в торе, и вообще приятная.
Аноним 30/09/16 Птн 20:25:08 #89 №848680 
>>848677
>>848665
А тут что тебе мешает сидеть? Параноики мамкины

Аноним 30/09/16 Птн 20:50:09 #90 №848691 
http://python-3.ru/page/layout-management-in-pyqt5
Питоняши, почему не пашет код из раздела "блочный макет" ?
http://python-3.ru/page/layout-management-in-pyqt5
Кнопки создаются одна под другой (сначала думал что создается просто 1 кнопка, но потом поменял размер и одна из под другой вылезла), да и выравнивание идет не по тому углу
Аноним 30/09/16 Птн 21:13:14 #91 №848698 
>>848691
Пикути в глаза не видел никогда, но статья написана в марте 2015. Может быть этот код уже не подходит.
Аноним 30/09/16 Птн 21:36:54 #92 №848712 
>>848691
Разобрался
Аноним 01/10/16 Суб 06:36:43 #93 №848820 
Аноны, помогите понять, когда лучше использовать пропертис, а когда методы ввиде сеттеров и геттеров? Есть ли какие-то рекомендации?
Аноним 01/10/16 Суб 12:24:58 #94 №848874 
Итак, ребята. Есть задача: выкачать кусок сайта с кэша гугла со всеми подпапками и файлами. По началу работало, а затем только выкидывает ошибку 503 server temporary unavailable. И в браузере при переходе капчу просит ввести. Я не понравился гуглу? Нужно time.sleep выставить, видимо. Так вот, собственно, вопрос: сколько держится бан гугла и сколько выставлять delay, чтобы от него по голове не попадало? Ну или утилиту/скрипт подкиньте рабочий, тогда совсем будет ок. И сколько сайт хранится в кэше?
Аноним 01/10/16 Суб 12:27:27 #95 №848875 
>>848874
Сайт гитхаб если что, там была годная ветка со всякими ништяками, а сегодня захожу, а там пусто, 6 часов назад чувак, которому она принадлежит всё почистил. Печально ведь.
Аноним 01/10/16 Суб 12:42:32 #96 №848883 
http://pastebin.com/c0KntdmW
Привет, это говно из моей жопы. Одно из приложений моего сайта. Посмотрите на этот быдлокод. Если я приложу такой код к своему портфолио, он подарит мне вечный иммунитет к работе?

Зацените манипуляции с json при создании коммента. Это супер-костыль когда впадлу юзать поля postgresql
Аноним 01/10/16 Суб 12:44:16 #97 №848884 
>>848883
Не прибедняйся, это некрасиво..
Аноним 01/10/16 Суб 12:47:05 #98 №848885 
>>848884
не, это рили костыльное говно. Мне просто интересно, насколько оно костыльное, и ест ли вообще смысл выкладывать это куда-то кроме двощей.
Аноним 01/10/16 Суб 13:10:17 #99 №848896 
как, имея значение, найти его ключ в словаре?
Аноним 01/10/16 Суб 13:22:24 #100 №848907 
>>848896
govno = 'huyhuyhuy'
pizda ={'huy1': ['huy', 'huyhuy'], 'huy2': ['huyhuy', 'huy', 'huyhuyhuy']}
for x in pizda:
if govno in pizda.get(x):
print('Sucess')
print('Poshel nahuy')
Аноним 01/10/16 Суб 13:48:30 #101 №848916 
>>848875
Бля, пока допёр, что через гугл щитс можно табличку сделать со всеми ссылками, на гугл щитс не ругается. А потом wgetом выкачать мб.
Аноним 01/10/16 Суб 14:49:35 #102 №848934 
>>848916
Блядь, всё, только дописал, всё работает, думаю да бля, в чём ошибка то, решаю проверить руками, а всё уже и из кэша удалено. Пиздец. Как нарочно блядь.
Аноним 01/10/16 Суб 16:04:28 #103 №848955 
решил заглянуть в питонотред
> govno = 'huyhuyhuy'
> pizda ={'huy1': ['huy', 'huyhuy'], 'huy2': ['huyhuy', 'huy', 'huyhuyhuy']}
я спокоен
Аноним 01/10/16 Суб 22:17:00 #104 №849080 
14753494206820.jpg
>>848677
Не знаю, как у остальных, а у меня нет возможности всё время сидеть на борде из-под тора.
Аноним 01/10/16 Суб 23:40:53 #105 №849108 
Вкатился.
Собираюсь подаваться на python junior dev, либо на django dev.
Для этого учу питон (ныне админю линухы).

Мне ООП надо? В вузе 3 года назад писал лабы на c# и что есть ООП представляю.
Функционально познать питон будет достаточно, или нахуй иду, когда дело дойдет до джанги?
Аноним 01/10/16 Суб 23:41:16 #106 №849109 
Сап котаны решил я вкатится в программирование, скачал python но к сожалению я такой аутист что даже не знаю как начать работу, как его запустить вообще?
Аноним 02/10/16 Вск 00:39:55 #107 №849128 
>>849109
Читай Лутца. У него в "Изучаем..." три главы по сути этому посвящены. Даже совсем-совсем аутист поймёт.
Аноним 02/10/16 Вск 01:17:13 #108 №849139 
14753602337500.png
Что-то с кодировкой? Как починить?
Аноним 02/10/16 Вск 03:19:55 #109 №849168 
Что можете сказать о Introduction to Computation and Programming Using Python?
мимо начинающий начать
Аноним 02/10/16 Вск 10:12:57 #110 №849205 
>>849139
Посмотри, что возвращается же в ответе от сервера. Похоже, что не json.
Аноним 02/10/16 Вск 10:14:41 #111 №849208 
>>849139
Что ты пилишь?
Аноним 02/10/16 Вск 11:23:21 #112 №849251 
14753966016650.png
UPD.
https://github.com/thisfieldmustbefilled/ascii-wp
https://asciiwp.herokuapp.com/

Пофиксил размещение и размер текста. Теперь /custom может сгодиться еще и для генерации неиндексируемых пиков с номером телефона, e-mail и другой приваси даты.

Поясните, можно ли как-то избавиться от повтора строк до цикла и в нем:
https://github.com/thisfieldmustbefilled/ascii-wp/blob/master/generator.py#L15

Бр-тян пикрелейтед :)
Аноним 02/10/16 Вск 11:34:35 #113 №849264 
>>849205
А что ещё он может вернуть если я прямо в коде пишу json? 404?
>>849208
Список всех вбэмок на дваче. Потом можно скачать с помощью wget или смотреть онлайн с помощью mpv.
Аноним 02/10/16 Вск 11:58:29 #114 №849282 
>>849264
Кстати перед запуском для всех досок тестил это на муваче. Все jsonы просмотрел и никаких ошибок не вывело.
Аноним 02/10/16 Вск 13:08:25 #115 №849304 
>>849264
> А что ещё он может вернуть если я прямо в коде пишу json? 404?
> Кстати перед запуском для всех досок тестил это на муваче. Все jsonы просмотрел и никаких ошибок не вывело.
Еще раз повторю. Лови исключение и смотри, что находится в content'е и status_code'е.
Аноним 02/10/16 Вск 13:20:46 #116 №849307 
14754036460760.png
>>849304
Весь контент выводить неудобно, а с исключениями работать я пока не умею. Кстати и правда похоже на 404. Спасибо.
Аноним 02/10/16 Вск 23:20:39 #117 №849728 
Питонач подскажи где научится прогить на пайтоне если ты конченый аутист
Аноним 02/10/16 Вск 23:22:48 #118 №849729 
>>849728
сначала научится прогать на паскале
Аноним 03/10/16 Пнд 00:56:27 #119 №849759 
>>849307
У тебя там походу какая-то хуйня с формированием ссылки на тред. Попробуй повыводить ссылки на которые запросы посылаешь
Аноним 03/10/16 Пнд 00:57:43 #120 №849761 
>>849729
А ты хорош. Сначала освой ЯП с супер-строгой типизацией и тысячей защит от стрельбы по ногам, чтобы потом ломануться в объектный в паскале нет объектов, в отличие от FPC(который в Lazarus'е) и Delphi/Object Pascal скриптовый язык, активно срущий на всё, настолько гибкий, что из рук выскальзывает.
Аноним 03/10/16 Пнд 01:01:57 #121 №849762 
>>849761
Я просто подумал что конченые аутисты не знают что такое переменная вот и предложил начать сначала.
Аноним 03/10/16 Пнд 03:11:13 #122 №849784 
>>849762
Ты неверно используешь слово "аутист".
В твоем случае имеет место просто некомпетентность или глупость.
Аноним 03/10/16 Пнд 15:08:44 #123 №850005 
>>849762
После того, как человек освоит Pascal с его наследниками он понимает, что это годный язык, на котором можно сделать что угодно, но на практике выяснится, что на таком языке всё пишется хорошо, но не слишком быстро. Скорее даже утомительно медленно, что быстро выбьет энтузиазм (впрочем, аутистм как раз похуй, из них получаются самые крутые гении кодинга на чём угодно).
А у того же Лутца, да и вообще в любом учебнике, не рассчитанном на профи, суть переменных, циклов, условий и прочего будет объяснена достаточно подробно.
Аноним 03/10/16 Пнд 21:37:15 #124 №850191 
14755198356310.png
как сделать что бы в массив добавлялось слово(тобишь в connect2 вводилось слово и добавлялось в words)?
Извините,пару часов изучаю
Аноним 03/10/16 Пнд 22:26:24 #125 №850215 
>>847564
Я пользуюсь. Очевидно, что ты вышел в код дебагера. Там же даже название твоего файла в stream есть.
Аноним 03/10/16 Пнд 22:33:30 #126 №850221 
>>850191
def append_to_list(list_name):
q = input('Добавить?')
if q == 'yes':
word = input('слово')
list_name.append(word)
print('Теперь в списке {} слов'.format(len(list_name)))
return list_name

l=['1', '2']
print(append_to_list(l))
Аноним 03/10/16 Пнд 22:35:05 #127 №850223 
>>850191
http://pastebin.com/g84vaMJi
Запустить можно тут https://repl.it/languages/python3
Аноним 03/10/16 Пнд 22:36:45 #128 №850224 
>>850191
str(len(words)) == '4' не имеет смысла. len выдает тип int, так что:
len(words) == 4
Аноним 03/10/16 Пнд 22:44:42 #129 №850225 
>>850221
>>850223
>>850224
Спасибо няши<3 Пойду сейчас разбираться дословно <3Люблю вас
Аноним 03/10/16 Пнд 22:47:15 #130 №850226 
>>849729
>>849761
>>849762
>>849784
>>850005
Хуле мне делать то питоняши
Аноним 04/10/16 Втр 00:45:28 #131 №850268 
>>850226
Лутц - Изучаем Пистон
Лутц - Программируем на Пистоне т.1
Лутц - Программируем на Пистоне т.2
Если ничего не знаешь - пойдёт и неплохо.

Если, например, знаешь кресты, но хочешь вкатиться - хватит и чего-нибудь типа этого самоучителя и потом других примеров с этого сайта:
https://pythonworld.ru/samouchitel-python
Аноним 04/10/16 Втр 14:21:13 #132 №850414 
>>850215
Про код дебагера понятно, но какого хуя туда перекидывает когда я делаю step out? эта функция вообще работает?
Аноним 04/10/16 Втр 15:43:18 #133 №850485 
Питоняхи что с моим питоном? Иногда он не воспринимает горячие клавиши, я жму ctrl N а он нихуя, я жму F5 он хуи пинает, даже ctrl v/ctrl c неробит
Аноним 04/10/16 Втр 17:20:34 #134 №850544 
14755908346100.jpg
Анон, посоветуй что-нибудь по Django с нуля. Пробовал Django by example, но вот уже 60 страниц охуеваю с "отрываем и views.py и пишет вот это" без всяких объяснений какой параметр за что отвечает. Есть что-то более адекватное?
Аноним 04/10/16 Втр 17:29:10 #135 №850548 
14755913501060.jpg
>>850544
Адриан Головатый
Аноним 04/10/16 Втр 18:19:48 #136 №850578 
>>850544
документация + гугл. В документации вообще есть ВСЕ.
Аноним 04/10/16 Втр 18:56:41 #137 №850593 
Есть txt файл вида
##############
ГОС ОЧКИ
----------------
RUS 216
BYR 125
BYR 110
UKR 85
RUS 25
NLD 0
UKR 0
##############
Программа должна выполняться построчно:
Берет данные из строки ГОС(например RUS) и проходится по списку. Если rus>100 и при этом встречается rus<100, то слово RUS выплевывается в консоль. Вторая строка - оба BYR>100, в консоль ничего не идет. Третья строка - UKR<100, сразу скипается. То есть, если элемент из столбца ГОС >100 и при этом встречается <100, то данные идут в консоль.
Как это сделать? Прочитать файл построчно, создать двумерный массив? Я не понимаю. Помоги, анон. Надеюсь, понятно объяснил. В пайтоне новичок.
Аноним 04/10/16 Втр 19:17:46 #138 №850599 
Ребята подскажите, можно ли как-то разграничить такую запись, точнее можно ли как-то явно указать питону, что я использую не переменную, а системную функцию (вторая строка)?

http://pastebin.com/KeJYcFfd
Аноним 04/10/16 Втр 19:50:26 #139 №850626 
>>850548
Спасибо, посмотрю Год издания 2010 - она там, часом, не устарела еще?
Аноним 04/10/16 Втр 19:52:58 #140 №850629 
>>850599
Придумай другое имя для переменной 'time' - ты ведь уже импортировал модуль с таким именем. Не стоит так делать.

или:
from time import strftime
time = strftime("%Y %m %d")

Но лучше придумай другое имя для переменной.
Аноним 04/10/16 Втр 20:07:51 #141 №850647 
>>850593
Аллах, Будда, Двач, помоги же мне!
Аноним 04/10/16 Втр 20:25:02 #142 №850665 
>>850647
Осваиваешь гос. контракты?
Аноним 04/10/16 Втр 20:38:00 #143 №850679 
>>850665
Ни в коем случае.
Отучился в радиотехническом вузике, но работаю обычым планктоном. Думаю взяться за решение задачки, а заодно подкачаться в пайтоне.
Понимаю, что данные можно забить в мускл, и оттуда уже выдернуть селектом, но хочется без мускл.
Аноним 04/10/16 Втр 20:41:51 #144 №850684 
>>850629
Спасибо
Аноним 04/10/16 Втр 21:08:29 #145 №850700 
>>850679
Ты хоть какой-нибудь код напиши, а то выглядит, будто ты хочешь не научиться, а чтобы за тебя все сделали.
Аноним 04/10/16 Втр 21:52:49 #146 №850720 
>>850599
import time as x попробуй
Аноним 04/10/16 Втр 22:29:40 #147 №850762 
>>850720
Идеальный вариант. Спасибо
Аноним 04/10/16 Втр 22:50:20 #148 №850777 
Стоит ли изучать питон, если достаточно хорошо знаю джаву? Правда ли, что скорость разработки небольших проектов на питоне в разы выше?
Аноним 04/10/16 Втр 22:59:55 #149 №850785 
>>847086 (OP)>>847091 (OP)
Что за ересь с двумя пистон-трендами, периодически вылетающими на нулевую вместе? В прошлом перекат-ссылка на этот.
Аноним 04/10/16 Втр 23:22:37 #150 №850794 
>>850626
нет, все основы на месте.
Аноним 04/10/16 Втр 23:32:36 #151 №850801 
14756131566530.png
Анон, а на каком проекте (уровня джуна) можно оценить свои знания? В смысле какой проект написать?
Аноним 05/10/16 Срд 01:38:21 #152 №850833 
>>848820
Всё просто, сеттеры/геттеры никогда.
Аноним 05/10/16 Срд 01:59:31 #153 №850847 
Питонач, сильно ли будете меня бить за asyncio.sleep(n)?
1. Мне надо запустить корутину `coro` через определенное время `n`:
На ум приходит `loop.call_later` но он запускает обычный коллбэк. Можно извратится и сделать
`loop.call_later(n, loop.create_task, coro())`
но тут возникает п.2

2. Должна быть возможность остановить корутину.
`.call_later` возвращает Handle, но Handle.cancel() убивает только запланированный запуск, уже запущенная корутина неуязвима.

Ничего лучше не придумал, чем запускать корутину через loop.create_task(coro()) и спать в ней, сколько надо. Мне кажется, что await asyncio.sleep(n) не должен ничего нагружать, но надо замерить использование памяти при одновременном запуске множества таких корутин.

Какие мысли, анон?
Аноним 05/10/16 Срд 02:13:38 #154 №850852 
>>850847
Не очень понял зачем тебе слип до запуска корутины, но в таком случае делать слип в ней — нормальное решение, ничего не нагружается, не ссы.
Аноним 05/10/16 Срд 13:53:27 #155 №851023 
14756648077460.jpg
Посоветуйте хостинг для uWSGI + nginx.
Аноним 05/10/16 Срд 15:26:07 #156 №851082 
>>851023
Любой VDS/VPS/dedicated где железо не в роиссе. В остальном смотри на цены и плюшки (тип виртуализации, нужность-ненужность панели управления и т.п., версию ОС - вдруг ты угорел по ubuntu 16.04, а там только 12.15...)
А так особой разницы нет.
Аноним 05/10/16 Срд 17:45:51 #157 №851178 
Анон, сегодня свой первый проект на гитхаб запилил.
https://github.com/pyanchesko/wallpapers_update

Понравились фотки в паблике одном, захотелось их на обои ставить. Каждый день новую.
Написал скрипт который скачивает оттуда фотку, и ставит ее на рабочий стол. Думаю ее кроном запускать.
Ubuntu
Аноним 05/10/16 Срд 19:59:30 #158 №851212 
14756867709820.jpg
>>851178
>сортировка пузырьком
>эта реализация сортировки пузырьком
Аноним 05/10/16 Срд 20:10:46 #159 №851216 
>>851212
а как надо было?
Аноним 05/10/16 Срд 20:49:46 #160 №851229 
Можно ли в bottle запилить ftp-like вывод содержимого директории или всё придётся делать руками?
Аноним 05/10/16 Срд 20:55:21 #161 №851237 
>>851216
Я не этот >>851212 анон, но отвечу
Можно было сделать как-то так http://pastebin.com/0tcRXpF7
Аноним 05/10/16 Срд 21:37:23 #162 №851263 
>>851237
Спасибо Анон, а то рили чуханский код был
Аноним 05/10/16 Срд 22:19:51 #163 №851296 
>>847091 (OP)
Поясните за Джанго. Это вроде как крутой фреймверк, с кучей готовых фич. Можно ли в нем писать как в похапе (т.е. банальные динамические страницы)? Или там все совсем по другому? И какую версию питона он поддерживает? Хочу курсач пилить, но как бы не обосали.
Аноним 05/10/16 Срд 22:49:58 #164 №851332 
Антоши, у меня к вам такой вопрос: дело в том, что я гуманитарий. Нет-нет, я не хочу вкатиться в погроммирование с нуля и зарабатывать миллионы, подождите. Учусь на ФИНАНСИСТА. Недавно был на одной лекции, на которой чувак затирал про матметоды и погроммирование в экономике, рекомендовал питон. Хотелось бы узнать, есть ли здесь какие-нибудь аналитики и дата сайентисты из экономической/финансовой сферы? Будет ли знание питона хорошим плюсом для развития карьеры или для данной отрасли знание языков программирования не стоит так остро? Хотелось бы иметь конкурентные преимущества перед толпой таких же будущих объебосов-выпускников, как и я, но хочу знать, в ту ли степь я решил направиться. Не бейте, лучше обоссыте, если что.
Случайно запостил в старый тред.
Аноним 06/10/16 Чтв 00:33:27 #165 №851371 
>>851332
тебе сюда
https://2ch.hk/pr/res/817451.html
Аноним 06/10/16 Чтв 02:09:32 #166 №851384 
14757089729890.jpg
>>847091 (OP)
Запостил по ошибке в старый тред, поэтому репостну сюда
Привет, ночной питонач. На связи ультраньюфаг.
Решил освоить хотя бы азы кодинга, начал с питона. Я и раньше пытался его учить, но надолго не хватало. А тут вот взялся основательно. Нашел видеоуроки от майкрософт для полных чайников, но на свою беду, я пытаюсь понять фундаментальные вещи, причем сразу. Не терпится чет.А там многое оставляют без объяснения, тип делайте не задавая вопросов.
Так вот.
Вот вроде бы функция - ты ей параметры, она тебе возвращает результат.
Но что мать его происходит, когда внутри функции еще одна функция, да еще блджад с какими-то точками, как в случае с:
a = "Абырвалг"
print ( a.upper() )
То есть тут функция и print() и upper() тоже? А точка? Как зачем и почему эта точка?
Аноним 06/10/16 Чтв 02:11:52 #167 №851385 
>>851384
(Кодекадеми - укус питона - синк пайтон) + лутц
Аноним 06/10/16 Чтв 02:32:45 #168 №851389 
>>851385
Только что качнул "укус питона", и тут тоже с самого начала предмет моего вопроса без пояснений. (7.4.6)
Блин, мб стоит расслабить булки и получать удовольствие? Может я слишком спешу заглянуть вперед?
Аноним 06/10/16 Чтв 02:40:23 #169 №851390 
>>851389
Пока не вдуплишь основы на кодекадеми укус будет непонятен, пока не прорешаешь все с синк пайтон - не будешь знать куда конкретно питон этот пихать.
А лутц чисто почитывай фоном где что конкретное непонятно.
Аноним 06/10/16 Чтв 02:46:42 #170 №851392 
>>851390
>кодекадеми
Аа, так в скобочках было не перечисление вариантов, лол.
А есть альтернатива кодекадеми? Я прост хоть и учу английский, но пока не настолько уверенно им владею, чтобы чему-то учиться на нем.
Аноним 06/10/16 Чтв 03:09:29 #171 №851395 
>>851392
Нету
Привыкай
Аноним 06/10/16 Чтв 03:35:05 #172 №851400 
>>851392
Вот попробуй
https://stepik.org/course/Python-67
Аноним 06/10/16 Чтв 10:11:06 #173 №851432 
14757378668750.png
>>847091 (OP)
Анон, что лучше использовать: конструктор класса def __init__() или @staticmethod?
Аноним 06/10/16 Чтв 10:14:22 #174 №851434 
>>850593
Счёт строчек делай через цикл. Данные разбей через ".split" (variable.split(SYMBOL)). Потом значение переведи в тип int (int(digit_string)).
Аноним 06/10/16 Чтв 12:00:52 #175 №851470 
>>851432
зависит от того, что тебе нужно, кек.
Аноним 06/10/16 Чтв 12:02:45 #176 №851473 
>>851432
блять. для чего!?
Аноним 06/10/16 Чтв 12:23:31 #177 №851477 
>>851470
>>851473
Для pygame. Надо проигрывать анимацию.
Аноним 06/10/16 Чтв 12:29:24 #178 №851479 
>>851477
ебаныврот! пойду отсюда.
Аноним 06/10/16 Чтв 12:46:06 #179 №851484 
>>851400
Спасибо.
Аноним 06/10/16 Чтв 13:13:31 #180 №851497 
>>851479
Не уходи. Я тебя блинами угощу.
Аноним 06/10/16 Чтв 14:12:41 #181 №851544 
14757523613520.png
Народ только только начал учить с нуля.
Подскажите тему двойшнику))
Аноним 06/10/16 Чтв 14:33:02 #182 №851550 
>>851544
что подсказать-то?
Аноним 06/10/16 Чтв 15:33:25 #183 №851575 
Салют. Я недавно в пайтоне, подскажите, пожалуйста:
Я использую множества, из которых постепенно убираю по определённым правилам неподходящие мне варианты, примерно так:
X={'a', 'b', 'c'}
X.discard('a')
X.discard('c')

Потом, когда остаётся единственно верный вариант, мне нужно его получить. Сейчас это выглядит так:
if len(X) == 1: for i in X: res = i
Но мне кажется, что это ну просто пиздец, какой костыль. Можно это сделать как-то приличнее?
Аноним 06/10/16 Чтв 15:52:48 #184 №851578 
>>851575
res = next(iter(X))
или:
res = list(X)[0]
или (если этот сет тебе больше не нужен, потому что pop() удалит элемент из сета):
res = X.pop()

Аноним 06/10/16 Чтв 16:59:09 #185 №851608 
>>851578
>res = X.pop()
При тестировании выглядит идеально. Видимо, я неправильно понял, как работает pop, когда читал help по нему. Вернее пропустил «and return».

Правда, в коде я сразу начал ловить ошибку «unhashable type: 'set'»…

>if len(possibles) == 1:
> k = possibles.pop
> vals = k
> for j in range(9):
> possibles[j].discard(k)

когда сделал так:
>k = str(possibles[j].pop)
>print(k)
В выводе получил «<built-in method pop of set object at 0x0054A198>».

В итоге использовал list(X)[0], как более понятный конструкт, а очищается множество окончательно всё-равно отдельно, в цикле, discard'ом. Но хочется понять на будущее — в чём прикол.

>res = next(iter(X))
Какое-то непонятное пока колдунство.
Аноним 06/10/16 Чтв 17:00:36 #186 №851609 
>>851608
>>\t\t
Раньше, вроде, на пробелы заменяло…
Аноним 06/10/16 Чтв 17:03:29 #187 №851611 
>>851608
pop() - нужно со скобками писать.
Аноним 06/10/16 Чтв 17:07:16 #188 №851614 
14757628370140.jpg
https://acmp.ru/index.asp?main=task&id_task=6
http://pastebin.com/masB9evt

моё решение не проходит на седьмом тесте.
мб кто-то подскажет, где ошибка?
Аноним 06/10/16 Чтв 17:10:13 #189 №851616 
>>851614
Проверь скобки в 4 строке.
Аноним 06/10/16 Чтв 17:13:30 #190 №851621 
>>851616
действительно. раскрыл скобки, дошёл до 11 теста, там рантайм еррор вылетело
спасибо
Аноним 06/10/16 Чтв 17:15:32 #191 №851622 
>>851621
всё, решил через трай .. ексепт
Аноним 06/10/16 Чтв 17:17:56 #192 №851627 
система рейтинга для моего пет-проекта:
в модельки книги есть поле текущего рейтинга и количества голосов
вощем, решил в модели прям забабахать методу для обновления что-то типа такого

def upd_rating(new_vote, self):
new_rating = (self.rating * self.votes + new_vote)/(self.votes +1)
self.votes += 1
self.rating = new_rating
self.save(update_fields=['rating', 'votes'])

меня вот больше всего интересует механизм записи изменений, save же должен сработать?
Аноним 06/10/16 Чтв 17:43:45 #193 №851635 
>>851614
Напоминает Чарли.
Аноним 06/10/16 Чтв 18:38:43 #194 №851668 
Привет. У меня нубский вопрос.
Нужно запилить примитивный бэк на питоне, пара http запросов и работа с бд.
Как это сделать проще всего?
Аноним 06/10/16 Чтв 18:44:08 #195 №851671 
>>851668
http://bottlepy.org/docs/dev/index.html
https://dataset.readthedocs.io/en/latest/ или https://docs.python.org/3/library/sqlite3.html
Аноним 06/10/16 Чтв 18:44:49 #196 №851672 
>>851627
Вроде должен. Насколько помню, save сам определяет - обонвить ему данные или записать новые
Аноним 06/10/16 Чтв 18:46:07 #197 №851673 
>>851671
Спасибо.
Аноним 06/10/16 Чтв 18:46:43 #198 №851674 
Почему в питоне так сложно обратиться к системной команде и получить результат?
Просто сравниваю с рубишкой где `command` или system "command" и результат получаешь сразу, а в питоне код возврата.
Как-то бесячивно это.
Аноним 06/10/16 Чтв 18:50:14 #199 №851677 
>>851674
https://docs.python.org/3/library/subprocess.html#subprocess.check_output
Аноним 06/10/16 Чтв 19:10:08 #200 №851700 
Посоветуйте книгу для изучения бидона для шарпо/плюсобоярина, чтоб после прочтения кроме синтаксиса понимал как кишки интерпретатора работают.
Цель - применение библиотек уровня sci-kit и nltk без боли в анусе от каждой ошибки.
Плиз хелп, анон виз проблем хире Аноним 06/10/16 Чтв 19:55:48 #201 №851717 
14757729484910.jpg
Нужно на питоне написать программу, которая создаёт рандомно папки и файлы в определённой папке.
В программу передаются:

Количество фалов и папок, которые нужно создать.
Глубина вложенности папок.

Т.е. файлы и папки должны быть раскиданы по структуре рандомно.
Уже тут пару часов бьюсь, не могу придумать как это реализовать.
Аноним 06/10/16 Чтв 19:56:20 #202 №851718 
>>851700
https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D0%B4%D0%BE%D0%BD_(%D1%91%D0%BC%D0%BA%D0%BE%D1%81%D1%82%D1%8C)
Аноним 06/10/16 Чтв 19:57:05 #203 №851720 
>>851700
присоединяюсь к реквесту.
всрал на собеседовании все вопросы по питоньим кишкам
Аноним 06/10/16 Чтв 19:57:26 #204 №851722 
>>851717
рекурсию что ли не осилил?
Аноним 06/10/16 Чтв 19:58:36 #205 №851723 
>>851722
А при чём тут рекурсия?
Аноним 06/10/16 Чтв 19:59:37 #206 №851724 
>>851700
>>851720
если бы я интересовался кишками змеи, я бы стал учить си и читать исходники. какую вам книгу по си посоветовать?
Аноним 06/10/16 Чтв 20:00:37 #207 №851725 
>>851723
ну я бы рекурсией вложенную структуру создал
Аноним 06/10/16 Чтв 20:20:33 #208 №851747 
>>851725
Можешь расписать подробей или скинуть где про это почитать?
Аноним 06/10/16 Чтв 20:37:28 #209 №851761 
>>851724
мне для даунов, чтобы с основ си тогда уж.
Аноним 06/10/16 Чтв 20:59:18 #210 №851771 
>>851761
дак это в соседний тред
Аноним 06/10/16 Чтв 21:02:07 #211 №851773 
>>851720
Пример вопроса с твоего собеседования?
Аноним 06/10/16 Чтв 21:06:05 #212 №851776 
>>851773
Вы знаете питон?
Аноним 06/10/16 Чтв 21:08:17 #213 №851778 
Тестовое задание состоит в следующем:
Необходимо написать парсер исходного файла с данными: JSON, CSV, XLS (на выбор). По структуре данные представляют собой Группу (Регион), параметр (Страна) и Значение. Группы содержат в себе ряд параметров, у каждого из которых есть свое числовое значение. Эти данные нужно записать в базу данных.
Реализовать вывод имеющихся данных в виде столбикового графика. Выбор библиотеки на Ваше усмотрение. Например, HighCharts, AnyChart, AmCharts, либо любая другая библиотека графиков. Над графиком выпадающий список с Группами. При переключении группы в графике выводятся соответствующие данные, т.е. Параметры и их Значения (по осям графика), присущие выбранной Группе.
По результатам выполнения этого задания определятся ваша скорость и качество кода, которые повлияют на возможность дальнейшей работы.

Дали тестовое задание сегодня
Аноним 06/10/16 Чтв 21:38:23 #214 №851786 
>>851778
Крутяк
Из бд надо читать данные и выводить на график? Какой-то питоно фреймворк будешь использовать?
Аноним 06/10/16 Чтв 22:00:45 #215 №851801 
>>851747
типа такого http://pastebin.com/80Gz82sB отлаживать было влом, так что хз как работает, но пару раз вроде сработало)
Аноним 06/10/16 Чтв 22:02:12 #216 №851802 
>>851786
Джанго
Аноним 06/10/16 Чтв 22:22:50 #217 №851815 
>>851611
Вот жеж я невнимательный дятел.
Спасибо!
Аноним 06/10/16 Чтв 22:27:20 #218 №851819 
>>851778
ну ничего сложного, дольше с темплейтом/jquery возиться
Аноним 06/10/16 Чтв 22:31:43 #219 №851820 
Начал учить джанго, оказалось что по самому популярному фреймворку питона почти нет актуальной информации, а все книги писались еще для 2.7 версии питона. Но пох, нашел перевод документации. И что нахуй? Это ебаный пиздец, я понимаю что высокоуровневые языки на то и расчитаны, что бы писать код мышкой нихуя не понимая как это работает, но это уже просто пиздец, просто на тебя вываливается 20 строк кода с коротеньким описанием того что он делает, но без пояснения как. Еще веселят пояснения в духе "эта функция может принимать несколько аргументов". Все. Урок окончен. Пиздец. И это один из самых популярных языков? Мне просто копировать стену кода каждый раз когда я буду создавать сайт?
На пакет из ~15 файлов и ~500 строк кода 15 строк пояснений, все джангисты так и прогают, копируя код, понимая только зачем он нужен?
Аноним 06/10/16 Чтв 22:35:13 #220 №851822 
>>851820
"Начал учить джанго, оказалось что по самому популярному фреймворку питона почти нет актуальной информации..."
дальше не читал. ты в очи долбишься.
Аноним 06/10/16 Чтв 22:35:14 #221 №851823 
>>851820
Список твоих проблем:
1. не знаешь английский
2. не можешь в документацию
3. не можешь в stackoverflow
4. не можешь в чтение и разбор исходников
Аноним 06/10/16 Чтв 22:36:52 #222 №851826 
>>851820
ты не с того начал, начни с изучения самого питона.
Аноним 06/10/16 Чтв 22:41:21 #223 №851829 
Скажите, а можно ли самому сделать полноценный сайт с БД и всем остальным, у которого весь серверный код написан на Пайтоне? Можно ли это реализовать без фреймворков и стоит ли так делать хотя бы для небольших проектов?
Аноним 06/10/16 Чтв 22:42:26 #224 №851830 
>>851823
1. Могу, но не таком уровне, что бы читать без напряга хотя бы 50 + слов в минуту, да и зачем, если есть русская документация?
2. Лол, я про документацию и расписал
3. Еще вопросы маил ру посоветуй
4. Хз о чем ты, поясни, я должен сам понять вот это: MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
?? В уроках, которые идут с документацией, эти строки проигнорированы полностью, мне просто скопировать и идти писать резюме о поиске работы сеньера девелопера?
Аноним 06/10/16 Чтв 22:42:50 #225 №851831 
>>851829
Сам питон тоже должен быть написано на питоне? Никаких модулей на си?
Аноним 06/10/16 Чтв 22:45:18 #226 №851834 
>>851830
> 2. Лол, я про документацию и расписал
> я должен сам понять вот это: MIDDLEWARE = [
5 ceкунд в гугле:
https://docs.djangoproject.com/en/1.10/topics/http/middleware/

> 3. Еще вопросы маил ру посоветуй
Да ты же неадекват.
Аноним 06/10/16 Чтв 22:51:00 #227 №851840 
>>851829
конечно можно, фреймворки же написаны на питоне. только в итоге ты напишешь свои фреймворки.
Аноним 06/10/16 Чтв 22:57:54 #228 №851849 
>>851840
и кстати, это увлекательно и очень познавательно. например, начни писать "легкую" джангу, но не переусердствуй в своем аскетизме! активно используй стандартную библиотеку.
Аноним 06/10/16 Чтв 23:04:34 #229 №851858 
>>851830
программирование это тебе не увлечение на недельку и потом 300к в секунду. это серьезная профессия, одна из сложнейших, с большими трудозатратами. года уйдут у тебя до сеньора. поэтому иди сука пидор и читай про каждую сука пидор строчку сука пидор. а когда поймешь какой ты здесь фейл устроил, приходи и задавай адекватные вопросы.
Аноним 06/10/16 Чтв 23:07:34 #230 №851859 
>>851840
Ну, для небольшого сайта, который мне сейчас нужен, мне хватит работы с БД на простейшем уровне, а если захочу что-то серьёзное, например, стендэлон-блог, то наверняка воспользуюсь чем-то готовым. Или, чем чёрт не шутит, может и до своего дойду, вон у lleo (Леонид Каганов) таким образом весьма нихуёвый биноникл вырос на пыхе со временем.
Аноним 06/10/16 Чтв 23:08:02 #231 №851862 
>>851858

> это серьезная профессия, одна из сложнейших,

Забавно, вчера видел как какой-то хуй-петонист на хабре хабре, написал статью о том, что мол можно в мидла за 3 месяца (или что-то в подобном духе).

А тут на двачике, люди за сурьезность топят.

Сюрреализм, блядж.
Аноним 06/10/16 Чтв 23:08:56 #232 №851864 
>>851862
да я читал этого петуха из тайланда? вроде
Аноним 06/10/16 Чтв 23:09:04 #233 №851865 
>>851829

можно, конечно, но зачем оно надо?
Фишка питона именно в быстрой разработке. Тебе не надо описывать много ненужной мишуры, ты просто взял готовый инструмент и используешь его.

В твоем случае, если не хочеться разбираться с django, вникать в mvc и тд. можно взять тот же flask и быстренько наклепать проект на нем.
Порог вхождения там почти нулевой, всякие либы для комфортной работы тоже присутствуют


pandas-кун
Аноним 06/10/16 Чтв 23:13:33 #234 №851868 
>>851859
сайтик-хуяйтик - понятно, но если есть время и желание разобраться в языке\технологиях глубже, то...
Аноним 06/10/16 Чтв 23:17:19 #235 №851871 
>>851862
2ch - SERIOUS BOARD
Аноним 06/10/16 Чтв 23:17:25 #236 №851872 
>>851778
Если дали задание по данных, то это с вероятностью 99% будет работа с библиотекой pandas. Возможно, если они не упомянули ее в задании, то подойдет ответ на чистом питоне, но если ты сделаешь на панде, тебя точно пригласят на собеседование. Вообще, я собирался немного популяризировать pandas на дваче, так как работаю с ней уже порядка года, так что буду рад помочь ( в рамках треда, конечно)

pandas-кун
Аноним 06/10/16 Чтв 23:17:44 #237 №851873 
>>851864

ага, тот самый. Неофиты наслушаются петуханов, а потом как то внезапно вырастет очередное поколение индусов, с которыми тебе работать придется.
Аноним 06/10/16 Чтв 23:26:09 #238 №851881 
>>851873
думается проблема кроется в культурном слое:
1) легкие деньги!
2) почему легкие?- потому что вон на западе пацаны по 18лет неокончили ВУЗ, написали фейсбуки,... и на порше гоняют!
3) не такой как все (не быдло) - романтика! я хакер епта!
Аноним 06/10/16 Чтв 23:29:31 #239 №851885 
>>851881
и это удручает. и так везде между прочим, например, долго искали нормального, не криворукого паркетчика... это пиздец! - 3 раза переделывали.
Аноним 06/10/16 Чтв 23:30:47 #240 №851887 
>>851865
>Фишка питона именно в быстрой разработке.
Вот это мне и понравилось. Сейчас по-тихоньку переписываю один институтский проект с дельфей на пайтон для тестов, за пару вечеров с кайфом наваял то, над чем сидел пару недель, такими темпами через недельку реализую всё, что там было (пока что кроме гуя) и начну расширять функционал. Конечно, я сейчас старше и опытнее и понимание алгоритмов какое-то есть, но тогда-то я кодил постоянно, а с тех пор уже сколько лет - скрипты от случая к случаю и всё.
>если не хочеться разбираться с django, вникать в mvc и тд. можно взять тот же flask
Суть ясна - можно, но смысла мало. Значит, поковыряю фреймворки, когда с десктопным более-менее разберусь.
>>851868
>есть время и желание разобраться в языке\технологиях глубже, то...
...можно написать и свой фреймворк, lol. Шучу. Ясно, проще пользоваться фреймворками. Правда, несколькими потами выше один товарищ уже бугуртил с джанго, на что ему сказали:
>ты не с того начал, начни с изучения самого питона.
То есть, чтобы работать с серьёзными фреймворками, нужно уже иметь некий скилл.
Пойду его набирать, всем спасибо!
Вопрос к ребятам из треда Аноним 06/10/16 Чтв 23:38:37 #241 №851898 
Вобщем, хочу создать туториал по pandas, от парсинга данных из web api и до telegram bot`a, который выдает графики по запросу. Есть ли здесь люди, которым это будет интересно?

pandas-кун
Аноним 06/10/16 Чтв 23:39:15 #242 №851901 
>>851898
Словно туториалов по твоему пандас не хватает в интернете.
Аноним 06/10/16 Чтв 23:40:25 #243 №851904 
>>851898
>>851901
да, в чем фишка твоего туториала?
Аноним 06/10/16 Чтв 23:48:18 #244 №851918 
>>851901
Туториалы есть, но в большинстве своем эти туториалы для людей знакомых с data-science, я же хочу показать, как pandas можно использовать в более обычных задачах, где, казалось-бы, можно обойтись и чистым питоном, но на панде это получается решить быстрее и эффективнее в плане производительности приложения
Аноним 06/10/16 Чтв 23:50:41 #245 №851921 
>>851918
а будет распараллеливание по процессам\тредам?
Аноним 06/10/16 Чтв 23:58:01 #246 №851930 
>>851921
Не думаю, что будут такие штуки, не хочу слишком усложнять и без того не простой туториал.
Аноним 07/10/16 Птн 00:01:55 #247 №851931 
>>851296
Бампик.
Аноним 07/10/16 Птн 00:02:37 #248 №851933 
>>851898
>Есть ли здесь люди, которым это будет интересно?
Мне интересно.
Аноним 07/10/16 Птн 00:05:57 #249 №851936 
>>851930
не, пиши конечно, дело то хорошее. только предметности какой нибудь бы, например: "распределенная система обработки данных на архитетуре SOA\Microservice". кстати, могу посодействовать в архитектуре, давно мысль запилить микросервис архитектуру..
Аноним 07/10/16 Птн 00:08:51 #250 №851938 
>>851931
да
Аноним 07/10/16 Птн 00:18:34 #251 №851941 
>>851898
Очень интересно
Сам чуть игрался ими в рамках быстро дропнутого курса ШАД на и курсере, понял что это как уютный эксельчик, но на том и все
Аноним 07/10/16 Птн 00:30:29 #252 №851943 
>>851898
очень интересно
Аноним 07/10/16 Птн 01:32:17 #253 №851972 
14757931377990.png
>>851671
> https://dataset.readthedocs.io/en/latest/
А вот это заебок!
Аноним 07/10/16 Птн 02:12:46 #254 №851983 
14757955664040.jpg
>>851801
Даже не знаю как сказать спасибо! Не знаю, веришь ли ты в карму, но, в общем, я новенький в программировании, над этой штукой бился сегодня полдня, толком ничего не получалось, не то всё выходило, спасибо тебе огромное!
Аноним 07/10/16 Птн 06:36:16 #255 №852011 
>>851898
Пиши
мимо оп
чернило !AN5G2JJLXA 07/10/16 Птн 10:30:22 #256 №852071 
>>851747
> Можешь расписать подробей или скинуть где про это почитать?
Хоть бы Кнута по алгоритмам осилил, прежде чем такие вопросы задавать.
Аноним 07/10/16 Птн 10:32:00 #257 №852072 
>>851898
Туториалы не нужны, тем более pandas сама рисует графики. Хз какому дебилу это будет интересно.
Аноним 07/10/16 Птн 10:35:21 #258 №852073 
14758257214350.png
Хотя лол, если здесь есть такие дебилы, я не буду удивлен.
Аноним 07/10/16 Птн 12:33:45 #259 №852123 
>>851773
спрашивали про внутреннее устройство словарей, списков, что будет если два раза импортнуть один и тот же модуль, что-то еще было, вспомню напишу. Про работу with спрашивали еще.
Аноним 07/10/16 Птн 12:42:39 #260 №852125 
>>851983
пожалуйста)
Аноним 07/10/16 Птн 12:45:41 #261 №852129 
for i in range(len(minimax)):
print(i)
if math.isnan(minimax):
pass
else:
if minimax < 0:
minimax.pop(i)

Зорким змеям будет видно, что проблема в том, что список постоянно теряет в длине и выдает ошибку out of range. Есть ли способ починить не прибегая к использованию второго списка?
Аноним 07/10/16 Птн 13:21:43 #262 №852157 
>>852129
minimax это что?
Аноним 07/10/16 Птн 13:23:35 #263 №852160 
>>852157
очевидный список со значениями. Мне нужно убрать из него все отрицательные.
Аноним 07/10/16 Птн 13:35:48 #264 №852172 
>>852160
filter же
Аноним 07/10/16 Птн 13:37:23 #265 №852173 
>>852172
да я уже сделал.


Теперь надо понять как найти минимаксные критерии функции, ебаной.
Аноним 07/10/16 Птн 14:30:54 #266 №852211 
>>852073
Мне больше понравилась конструкция "if...elif".
Данный код, правда, сокращается до двух строк:
>a = input()
>print(a.isdigit())
Булева переменная тут не нужна, нечего плодить сущности, ясно, что дело не в принте, поэтому лучше так:
>a = input()
>if a.isdigit:
> statement1()
>else:
> statement2()
Аноним 07/10/16 Птн 14:44:27 #267 №852221 
Ребята, дорогие, а напомните пожалуйста что делать со статик файлами что бы они работали в режиме дебага?

проект
- проект
- приложение
- static
-- css
-- img
-- и тд

в settings.py указано:
>STATIC_URL = '/static/'
>STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
>MEDIA_URL = '/media/'
>MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')

в urls.py:
>if settings.DEBUG:
>....urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
>....urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

в шаблоне:
>{% load staticfiles %}
><img src="{% static "img/logo.png" %}"

сорс картинки получаю вида:
http://127.0.0.1:8000/static/img/logo.png
что в принципе правильно, только картинка не отображается и по прямому запросу 404

Буду крайне признателен
Аноним 07/10/16 Птн 15:07:38 #268 №852237 
>>852221
Ну же, судари, я уверен с этой хренью так или иначе все сталкивались, я и сам пару раз делал но рытьё в старых проектах нифига мне не дало почему-то, что-то проёбываю или в джанго 1.10 что-то поменяли
Аноним 07/10/16 Птн 15:35:43 #269 №852243 
>>852237
У тебя вся статика лежит в отдельной папке, а не в приложениях, как я понял.
Попробуй в настройки добавить
>STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)

Аноним 07/10/16 Птн 15:44:19 #270 №852245 
>>852221
Лол, ты статику через python отдаёшь? Это прошлый век.
Аноним 07/10/16 Птн 15:46:33 #271 №852246 
>>852245
Расскажи как в этом веке надо делать?
чернило !AN5G2JJLXA 07/10/16 Птн 15:56:36 #272 №852247 
>>852246
nginx или еще что-нибудь, что будет быстрее (пересобранный nginx, где выкинута куча ненужного говна).
Аноним 07/10/16 Птн 16:03:18 #273 №852253 
>>852247
>nginx
А, ну это ясно. Я думал, ты сейчас про что-нибудь новое расскажешь.
В продакшене, само собой, он будет nginx использовать. Тут же речь идет о том, чтобы только во время разработки обрабатывать статику встроенным сервером.
Аноним 07/10/16 Птн 16:03:48 #274 №852254 
>>852243
прописал, не помогает.
Аноним 07/10/16 Птн 16:05:45 #275 №852258 
>>852254
Строка 'django.contrib.staticfiles' есть в INSTALLED_APPS?
Аноним 07/10/16 Птн 16:06:47 #276 №852260 
>>852258
да
Аноним 07/10/16 Птн 16:12:00 #277 №852266 
>>852253
> обрабатывать статику встроенным сервером
Нахуя? Сделать реверс-прокси и готово. Впрочем, твоё дело.
Как в джанге это делать не ебу, сам не пользовался её сервером для такой цели.
Аноним 07/10/16 Птн 16:17:11 #278 №852269 
>>852266
спасибо что хоть без бовера, гульпа и прочей ебалы. тоже не "прошлый век."
Аноним 07/10/16 Птн 16:21:37 #279 №852271 
>>852260
Хмм.. Ну я тогда не знаю.
Перезапуcти сервер. А потом обнови страницу CTRL+F5
Проверь всё, может опечатка где-то есть.

>if settings.DEBUG:
Эта строка не нужна

>STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
Слеш убери. Он вроде никак не влияет, но и не нужен

STATIC_ROOT - это вообще должна быть пустая папка, в которую ты соберешь всю статику со всех приложений для того, чтобы обрабатывать ее потом сервером типа nginx'а, когда деплоить проект будешь. Переименуй, например, в 'collected_static' или или еще как-то.
Аноним 07/10/16 Птн 16:27:28 #280 №852275 
>>852271
не помогло. буду дальше развлекаться.

когда они блядь это починят, уже год я из раза в раз ебусь с этой придурошной хуйнёй. и да, она простая, всё ж не memory leak'и ловить, но какого блядь хуя.
Аноним 07/10/16 Птн 16:34:49 #281 №852279 
>>852275
> когда они блядь это починят
В багтрекер написал?
Аноним 07/10/16 Птн 16:35:21 #282 №852280 
>>852275
Тоже временами ебусь то с этим, то с подключением собственных приложений - легко упустить какую-нибудь деталь.
В принципе, могу щас тоже взглянуть на твой проект, если выложишь куда-нибудь свой код.
Аноним 07/10/16 Птн 16:43:01 #283 №852288 
аноний, нужно аутентификацию через соц сети, какой пакадж выбрать, а то их что то дохуя: https://djangopackages.org/grids/g/authentication/
Аноним 07/10/16 Птн 16:44:02 #284 №852289 
СУКА Я ОПЯТЬ НЕ ПОНЯЛ ЧТО Я СДЕЛАЛ, НО СТАТИКА ЗАГРУЗИЛАСЬ

да ёбаный нахуй, магия блядь, шайтан арба!
Аноним 07/10/16 Птн 16:45:24 #285 №852291 
>>852289
короче, на тестовом сервере collectstatic делать категорически нельзя.
Аноним 07/10/16 Птн 16:45:29 #286 №852292 
>>852288
Python social auth и django-allauth - вроде бы самые популярные
Аноним 07/10/16 Птн 16:48:11 #287 №852294 
>>852292
вроде да, но какой выбрать?)
Аноним 07/10/16 Птн 17:03:25 #288 №852299 
>>852294
Бери django-allauth
Аноним 07/10/16 Птн 17:34:47 #289 №852311 
>>851858
Самый толковый ответ, спасибо.
Вчерашний пожар закончился, буду на выходных курить мануалы, а пока кто мне объяснит, зачем все таки нужен stackoverflow? Уж явно не для того, что бы скролить в надежде найти ответ на интересующий вопрос
Аноним 07/10/16 Птн 18:49:00 #290 №852369 
А смотри, двачик, у меня есть в джанго апп Pages
В Pages хранится что-то типа настроек отображения страницы, ну например description
Вот пример модели Pages:
>class Page(models.Model):
>..page_name=models.CharField(max_length=100)

Вот пример модели BlogPages другого приложения, Blog:
>from pages.models import Page
>class BlogDetails(Page):
>..pass
таким образом но должно по-идее наследовать все свойства модели из app Pages. И наследует, в админке например.

Во вьюшке blog/view.py:
def post_list(request):
posts = Post.objects.all().order_by('created')
settings = BlogDetails.objects.first()
return render(request, 'blog/blog.html', {'posts': posts, 'settings': settings})

я вроде как вполне нормально вызываю инфу о BlogDetails объекте, он там всё равно один и других добавлять запрещено, как и удалять.

но когда в шаблоне я запрашиваю {{ settings.page_name }} я получаю ебаное ничего


В чём я обосрался?
Аноним 07/10/16 Птн 19:07:45 #291 №852382 
>>852369
как это хоть загуглить-то?
Аноним 07/10/16 Птн 19:24:45 #292 №852395 
>>852369
BlogDetails - это что ттакое? Если модель, то должна наследовать моделс.Модел. Или у тебя пейдж - это абстрактная модель? Или же тебе нужно наследование типа Блог - страницы? Тогда это делается через ForeignKey. У тебя какая-то непонятная хуйня, крч.
Аноним 07/10/16 Птн 20:06:18 #293 №852414 
>>852369
>settings = BlogDetails.objects.first()
Оно ведь QuerySet возвращает, не?

Попробуй в шаблоне:
{% for s in settings %}
{{ s.page_name }}
{% endfor %}
Аноним 07/10/16 Птн 21:32:47 #294 №852477 
>>851614
> acmp.ru
Интересный сайт.
Смотреть решения других участников можно?

Аноним 07/10/16 Птн 21:34:29 #295 №852481 
>>852395
Абстрактная модель, да.
Чего-то не завелось. Поскольку время поджимает - забил хуй и вставил код прямо в модели. Да, дублирование и вообще тупо. Потом переделаю.
>>852414
Попробовал, чего-то не цепляет вообще. Но спасибо.
Аноним 07/10/16 Птн 22:44:48 #296 №852534 
а как url'ку делать на другое приложение?

вот тулю я в шаблон {% url "blog" %}
мне и нужен "^blog/$" в принципе
чё оно от меня ещё хочет? дописывал как во view оно называется, и url blog:post_list и 'blog' 'post_list' и ещё пара вариаций - или темплейт эррор или no_reverse_match
Аноним 07/10/16 Птн 22:53:42 #297 №852540 
>>852534
url 'blog.views.post_list' тоже писал
разумеется в INSTALLED_APPS всё есть и в urls.py проекта пусть к приложению занесён
типа аргумент какой-то нужен, но какой блядь аргумент когда с другой стороны функция без аргументов? не понимать
Аноним 07/10/16 Птн 22:59:56 #298 №852542 
>>852540
name указан в урл паттерне? Типа так:
>(r'^blog/', blog_view, name='blog'),
и в шаблоне потом
>{% url 'blog' %}
Аноним 07/10/16 Птн 23:01:47 #299 №852543 
>>852542
Вот я баран блядь
Там другое было написано.
Спасибо тебе большое.
Аноним 07/10/16 Птн 23:34:17 #300 №852565 
>>852129
Перебирать список с конца?
Аноним 08/10/16 Суб 00:10:21 #301 №852582 
14758746218350.gif
проверьте решение первой задачи
говнокод

http://pastebin.com/uee5YmH0 - моё решение

https://olymp.hse.ru/data/2016/10/05/1122855045/Демо%20отбора%202016-2017.pdf - задания
Аноним 08/10/16 Суб 00:24:38 #302 №852591 
>>852582
Перепиши с нормальными названиями переменных, аутист ебучий.
Аноним 08/10/16 Суб 02:02:29 #303 №852637 
Снова выручайте, ребята.

есть категории, есть продукты
как в шаблон вывести их все, типа
>категория1:
>-продукт1
>-продукт4
>категория2:
>-продукт2
>-продукт3

в шаблоне вообще как-то фильтровать можно вообще?
Аноним 08/10/16 Суб 02:04:39 #304 №852640 
>>852637
Вопрос по django, конечно же
Аноним 08/10/16 Суб 02:15:15 #305 №852644 
>>852640
А все, разобрался
> {% for category in categories
> ..{% for product in category.products_set.all
> .....
Аноним 08/10/16 Суб 03:01:10 #306 №852652 
Вот есть апп deal с шаблоном hotdeal.html
как его впердолить в base.css
я так понимаю {% include "deal/hotdeal.html %} не обрабатывает запросы, а тупо выгребает хтмл

Тогда что делать?
Аноним 08/10/16 Суб 03:01:55 #307 №852653 
>>852652
в base.html конечно же
Аноним 08/10/16 Суб 04:02:10 #308 №852665 
14758885309140.png
http://rosettacode.org/wiki/Brace_expansion
http://rosettacode.org/wiki/Brace_expansion#Python

Есть ли обратный алгоритм, который бы пусть не самым оптимальным образом, но оптимизировал бы плоские листы в подобные древовидные структуры?

Интересует свёртка регулярных выражений такого типа:

пидор|исидор
(п|ис)идор
Аноним 08/10/16 Суб 10:30:42 #309 №852702 
14759118421090.jpg
Привет, анон.
Только начал учить питон (неделю), ибо язык вроде топовый. Сейчас читаю Byte of Python. Потом буду поглощать Луцмана и Саммерфилда. В день уделяю этому один-два часа. Есть ли какие-то шансы выучить его на уровне составления каких-то более менее программ среднего уровня до конца года?
И еще в этом году диплом. Решил в дипломном проекте составить программу на питоне для юр.фирмы(знакомые). Можете подсказать какие-нибудь идеи программы, чтобы она могла как-то использоваться на данном предприятии?
Заранее спасибо.
Аноним 08/10/16 Суб 10:36:47 #310 №852704 
>>852702
Да, может успеешь.
Дочитав Синк Пайтон ты сможешь написать почти что угодно на питоне.
CRMку им напиши. Или поисковик по документам на elastic search/solar с беком на боттле или еще чем постом.
Аноним 08/10/16 Суб 10:51:11 #311 №852709 
>>852704
Cпасибо большое. Но не подскажешь что за СинкПайтон?
Аноним 08/10/16 Суб 11:06:50 #312 №852715 
>>852709
Think Python
Есть где-то на русском
Аноним 08/10/16 Суб 12:08:38 #313 №852741 
>>852652
>{% include "deal/hotdeal.html %} не обрабатывает запросы
Что ты имеешь в виду?

Можно наследовать шаблон hotdeal.html от шаблона base.html:
{% extends 'base.html' %}

Или что ты хочешь сделать?
Аноним 08/10/16 Суб 12:25:14 #314 №852743 
>>852741
Я хотел как в php с инклудами - инкуднул и оно прогнало шаблон по его вьюшке, выгребло данные из бд, вставило.
Питон так не делает, он инклуднуть может конечно но не парясь, безо всяких данных, только то что в самом шаблоне есть ото и его
В итоге я просто во все нужные страницы теперь вставляю блок и во вьюхи соответствующее. Окей.
Аноним 08/10/16 Суб 12:45:19 #315 №852756 
>>852743
Думаю, я тебя понял. Наверное тебе нужны inclusion tags https://docs.djangoproject.com/en/1.10/howto/custom-template-tags/#inclusion-tags
Создаешь свой шаблонный тег, который состоит из функции (которая может дергать данные из бд, например) и шаблона, в который рендерится результат работы функции. Потом в любой шаблон можешь включать этот тег.
Аноним 08/10/16 Суб 12:52:04 #316 №852759 
>>852665
https://en.wikipedia.org/wiki/Lemmatisation
nltk
Аноним 08/10/16 Суб 13:08:55 #317 №852770 
>>852756
Ого!
Спасибо большое
Аноним 08/10/16 Суб 13:48:53 #318 №852805 
>>852770
А если тебе нужно отображать эту информацию на всех страницах, то может быть будет лучше свой context processor написать.
https://docs.djangoproject.com/en/1.10/ref/templates/api/#writing-your-own-context-processors
Пишешь функцию, которая возвращает словарь, добавлешь ее в список context_processors в настройках и у тебя во всех шаблонах будет доступна переменная - результат работы твоей функции.
Аноним 08/10/16 Суб 14:46:22 #319 №852836 
>>852805
Спасибо тебе большое
Аноним 08/10/16 Суб 14:48:52 #320 №852837 
Товарищи, а подскажите мне пожалуйста вот ещё что:

В джанго нужно создать страничку с файлами, и авторизацию к этой страничке исключительно для одного пользователя.
В идеале даже что бы по прямой ссылке на файл никто кроме этого пользователя скачать не мог.

Куда рыть в таком случае?
Аноним 08/10/16 Суб 15:15:42 #321 №852850 
>>852837
Если используешь nginx, глянь https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/
Аноним 08/10/16 Суб 15:21:51 #322 №852854 
>>852850
Спасибо, нашёл https://github.com/johnsensible/django-sendfile - я так понял это и есть обёртка для нгинкса. Но не уверен.
Аноним 08/10/16 Суб 15:40:47 #323 №852857 
>>852854
Бегло взглянул - кроме энжиникса поддерживает и другие сервера, но для nginx-a использует как раз тот самый x-accel
Так что тебе должно подойти
Аноним 08/10/16 Суб 16:27:59 #324 №852900 
>>852897
мне просто интересно хули там дискассить
Аноним 08/10/16 Суб 17:42:17 #325 №852937 
>>851700
Удваиваю вопрос.
Аноним 08/10/16 Суб 17:51:19 #326 №852945 
>>852702
>Есть ли какие-то шансы выучить его на уровне составления каких-то более менее программ среднего уровня до конца года?
На самом деле зависит от того, что ты уже умеешь. Если изучаешь с нуля, то навряд ли. Нужно, чтобы мозг понял, как вообще кодить, нужна практика и шишки, а это за пару месяцев не получишь.
Аноним 08/10/16 Суб 18:04:06 #327 №852954 
>>852897
Унылые ребята.
Аноним 08/10/16 Суб 18:32:49 #328 №852967 
>>852954
>>852956
FIGHT!
Аноним 08/10/16 Суб 18:36:30 #329 №852969 
>>852967
Ну, может балабольство про технологии без их понимания и плоские двачерские шутки действительно для кого-то классно.
Аноним 08/10/16 Суб 18:42:02 #330 №852970 
>>852759
Совершенно не то, увы. Что лемматизация сделает с инпутом вроде этого самого "пидор исидор"? Правильно, ничего.

Я нагуглил вчера frak, он под кложуру. Вот мне примерно такое требуется, но необязательно, чтобы форматировало в регексп.
Аноним 08/10/16 Суб 18:45:41 #331 №852972 
>>851700
Think Python
Аноним 08/10/16 Суб 19:30:41 #332 №852995 
>>852665
https://docs.python.org/3/library/os.path.html#os.path.commonprefix
Аноним 08/10/16 Суб 20:09:22 #333 №853003 
>>852995
Всё не то. См. пикчу.
Аноним 09/10/16 Вск 08:08:24 #334 №853206 
я правда гуглил

Мне нужна функция, в которую можно было бы задать букву, а она при запуске имитировала нажатие этой буквы на клавиатуре.
Аноним 09/10/16 Вск 08:50:46 #335 №853207 
>>853206
Гугли как эмулировать нажатие клавиши, функцию потом легко сделаешь
Аноним 09/10/16 Вск 10:05:07 #336 №853217 
>>853207
Да, я так и хотел. Не знал только что именно гуглу скармливать.
Аноним 09/10/16 Вск 10:38:02 #337 №853220 
Судари, а подскажите
Модель джанго, поле
>colors = models.CharField(choices=colors_list)
хочу в choices добавить html
ну типа
>colors_list = (('red': '#f44336'),('blue': '#2196f3'))

есть какой-то вариант в джанго-админку запихивать это всё например с style="background-color:#xxxxxx" в подложке каждого пункта списка? Как это делать вообще?
Аноним 09/10/16 Вск 10:56:15 #338 №853224 
>>853220
Вот это попробуй http://stackoverflow.com/a/21297539/5201699
Если не получится, то вот вариант посложнее, потому что тебе, видимо, придется шаблоны админки переопределятьhttp://stackoverflow.com/a/2836295/5201699
Аноним 09/10/16 Вск 11:31:30 #339 №853235 
>>853224
Спасибо большое.
Аноним 09/10/16 Вск 12:46:56 #340 №853269 
14760064163300.jpg
Django, вопрос по моделям.

Есть список категорий с подкатегориями. Дальше идут принадлежащие им item'ы. Всё как обычно, всё работает, заебись.

Теперь выясняется что item'ы отдельных категорий должны иметь разные списки характеристик, частично пересекающиеся.
Важно: конечное количество категорий и все конечные характеристики для итемов известны.

Вопрос как это грамотно организовать. Конечные значения известны, поэтому какой-то фабрики не требуется.
Достаточно ли просто сделать абстрактный класс для item, имеющий все пересекающиеся поля, и от не наследоваться остальным? Или это пиздец, потому что по сути придется написать десяток-два моделей вручную, у каждой из которых еще связь с общей таблицей категорий?
Аноним 09/10/16 Вск 12:56:18 #341 №853273 
14760069789800.jpg
14760069789821.jpg
"Сениор" рассказывает про "настройку тэстовой инфраструктуры" (докир).
Сам он, по его словам, с докиром дел никогда не имел, но считает что "вообще наверное это нужно".
Аноним 09/10/16 Вск 14:29:10 #342 №853321 
>>853269
я базовым классом модели сделал, потому что не известно количество и содержание моделей, но некоторые пересекающиеся поля есть, к тому же для каждой модели еще и форму надо... поэтому получается так что при добавлении новой сущности хочешь-не хочешь, а код писать придется.
Аноним 09/10/16 Вск 14:39:53 #343 №853325 
>>853273
Суть подобных мероприятий в одной пикче
Аноним 09/10/16 Вск 14:42:08 #344 №853326 
Ребятки, снова вопрос есть.
Вот я сделал две модельки,
>class File(model.Model):
>..file = models.FileField(upload_to="bin/")

>class FilesForUser(model.Model):
>..files = models.ManyToManyField(PrivateFile)
>..user = models.ForeingKey(User, db_index=True)

в админке сделал
>class UserFilesAdmin(admin.ModelAdmin)
>..filter_horizonstal=('files',)


Как мне добавить возможность прямо с админской UserFieldsAdmin не просто фильтровать, но и загружать Files?
Аноним 09/10/16 Вск 14:46:44 #345 №853327 
>>853326
можно даже без фильтрации, а просто MultiSelect какой-нибудь но на загрузку файлов
Аноним 09/10/16 Вск 15:12:22 #346 №853339 
Есть ли у кого Effective Python 2015 в любом формате?
Аноним 09/10/16 Вск 15:58:49 #347 №853351 
Django admin multiply files upload в гугле даёт одну хуйню
Что делать-то блин?
Аноним 09/10/16 Вск 16:12:25 #348 №853354 
>>852972
Благодарю.
Аноним 09/10/16 Вск 16:23:14 #349 №853359 
>>853273
вчера посмотрел, да, пиздец. Как-будто двойные стандарты.
Аноним 09/10/16 Вск 16:44:26 #350 №853375 
>>853351
Тебе нужна возможность загружать новые файлы со страницы со списком файлов, правильно?
Гугли как переопределять стандартные (и добавлять новые) вьюхи и темплейты в админке.

Наверное, на странице со списком файлов можешь поместить кнопку "Upload files". Кликаешь на нее и перенаправляешься на страницу добавления файлов с формой (может быть это будет новая вьюха, а может и ту, которая у тебя уже есть получится использовать). После загрузки файлов редиректишься обратно.
Ну или на страницу со списком файлов запихай форму, но, наверное, тогда тебе стандартную вьюху надо будет переписать, чтобы она еще и загрузку фалов обрабатывала.
Вот тебе решение для загрузки нескольких файлов https://docs.djangoproject.com/en/1.10/topics/http/file-uploads/#uploading-multiple-files

Сам такого не делал, но мне кажется должно сработать.
Аноним 09/10/16 Вск 16:49:46 #351 №853385 
>>853359
Там суть не в двойных стандартах, а в том что индивид - неразбирающийся колхозник без образования (даже "тест" пишет постоянно через "э") и уже несколько лет как без практики, при этом вешающий лапшу на серьёзных щах.
Это отдельный вид петушков, позиционирующих себя как специалистов, при сидящих на какой-то должности в конторке где они такому же говноеду-начальнику смогли навязать свою охуительность и незаменимость. Постоянно наталкиваюсь на таких, если ищешь работу и видишь что-то подобное - беги и не оглядывайся.
Аноним 09/10/16 Вск 16:50:38 #352 №853388 
>>853375
Не, мне прям с админки
Есть моделька страницы с файлами, она зарегана в админке, вот нужно прямо из неё загружать файлы
Аноним 09/10/16 Вск 16:58:40 #353 №853400 
>>853388
Ну так я тебе про это и говорю ведь, кажется. Или я неправильно понял?
Есть у тебя страница в админке со списком файлов, там фильтры какие-то у тебя еще что-то.. Вот туда и зафигач кнопку или форму.
Аноним 09/10/16 Вск 17:05:40 #354 №853409 
>>853400
Это я тебя неправильно понял, извиняюсь.
Да, как вариант можно попробовать, спасибо большое.
Аноним 09/10/16 Вск 17:55:41 #355 №853429 
14760249417410.png
>>853409
https://vorillaz.github.io/devicons/#/cheat
Как впихнуть эти чары в питоновый стринг? u'\eXXX' не работает.
Аноним 09/10/16 Вск 18:54:22 #356 №853445 
>>853429
'\ueXXX'
ord('\ueXXX')
int('eXXX', 16)

Выбирай на вкус
Аноним 09/10/16 Вск 19:14:43 #357 №853456 
>>853445
Спасибо!
Первый вариант работает. Остальные что-то не то возвращают, там модуль пытается сделать им сплит но не может, рейзится атрибутэррор.
Аноним 09/10/16 Вск 19:33:30 #358 №853467 
>>853456
Первый - это символ, второй и третий возвращают integer значение юникодного символа
chr(ord('\ueXXX')) == '\ueXXX'
Аноним 09/10/16 Вск 20:57:27 #359 №853503 
>>847091 (OP)
>>847091 (OP)
>>839462 (OP)
ИТТ долбаёб, изучайющий питон уже полгода и до сих пор не могущий в настройку правильной версии.

У меня убунта стоит, в ней прошит 2.7. Я хочу работать в версии 3.5.

Как вы вообще работаете с разными версиями? Или проще снести бубунту и перейти на дистрибутив, у которого изначально расововерная версия питона? Несколько часов сегодня проебал, пытаясь в этом вопросе разобраться Я знаю, что долбоёбПомогите убогому
Аноним 09/10/16 Вск 21:04:17 #360 №853507 
Парни, какими модулями лучше реализовать параллельное выполнение нескольких экземпляров функции с передачей результатов одной функции-обработчику, чтоб минимальное вхождение особенно для тех, кто раньше с параллелизмом вообще дел не имел?
Спасибо
Аноним 09/10/16 Вск 21:04:43 #361 №853508 
У меня модель книжки, к ней через поля ForeignKey присобачены автор и жанр книги. Как мне во вьюхе для определенной книги вывести атрибуты связанных с ней авторов и жанров? Author.objects.что писать?
Аноним 09/10/16 Вск 21:08:10 #362 №853512 
>>853503
Возможно питон3 у тебя установлен, просто он не дефолтный.
Проверь: python3 -V
Скриптики свои можешь запускать так: python3 script.py

Еще погугли virtualenv - в сети куча всего про это написано.
Аноним 09/10/16 Вск 21:08:58 #363 №853514 
>>853503
cd ~/projects_python3/yoba3
virtualenv -no_site_packages -prompt="python3" -p=/usr/bin/python3.5 venv
source ~/projects_python3/yoba3/venv/bin/activate
#you are now python3`eezed
deactivate

cd ~/projects_python2/yoba2
virtualenv -no_site_packages -prompt="python2" -p=/usr/bin/python2 venv
source ~/projects_python2/yoba2/venv/bin/activate
#you are now python2`eezed
deactivate

после активации одного из виртуальных окружений (source activate), pip ставит, удаляет, обновляет пакеты только в этом окружении и не трогает ни гловальное, ни какое либо еще.
Аноним 09/10/16 Вск 21:10:12 #364 №853515 
>>853503
sudo apt-get install python-pip
sudo pip install --upgrade virtualenv

virtualenv это отдельно стоящее окружение для питона и всех библиотек которые хочешь
pip - это установщик библиотек для питона
находишь место где будешь складировать "окружения" созданные virtualenv и хуяришь там
virtualenv -p /usr/bin/python3 yourenv

потом пишешь в консольке $ source yourenv/bin/activate и вуаля!
как надо будет переключить окружение на другое или выйти тупо $ deactivate

нахуя это нужно - что бы не захламлять папочку питона самой убунты, и под каждый проект отслеживать чё за пакты наставил, а не всё в куче

>>853508
Тут рулит наследование, можешь обращаться к ним косвенно
допустим
class Book(model.Model):
..s_kartinakami = model.BooleanField

Author.object.first().s_karitnkami , ну ты понел короче
Аноним 09/10/16 Вск 21:11:39 #365 №853516 
>>853507
import threading
Аноним 09/10/16 Вск 21:13:45 #366 №853518 
>>853515
это не наследование а просто связь бд
Аноним 09/10/16 Вск 21:14:26 #367 №853520 
>>853512
Проблема не со скриптами, а с джанго.
С виртуальной средой я поебался и что-то нихуя в итоге не вышло. Гайдов понятных так и не нагуглил. Подумываю снести систему, чтобы поставить сразу с дефолным питоном нормальным. Есть также аккаунт на pythonanywhere, но как там сменять дефолнтую версию я тоже нихуя не понял.
Аноним 09/10/16 Вск 21:16:16 #368 №853522 
14760369766580.jpg
>>853503
Если ты за полгода на убунте не освоил основы работы с виртуальными окружениями - бросай это дело вообще.
Время сэкономишь.
Аноним 09/10/16 Вск 21:16:51 #369 №853523 
>>853518
согласен
Аноним 09/10/16 Вск 21:16:53 #370 №853524 
>>853520
конечно надо все нахуй снести! но сноси внимательно и вдумчиво! минимум 3 раза нужно снести! все нахуй сноси только!
Аноним 09/10/16 Вск 21:17:49 #371 №853526 
>>853520
больше хуярь по книжкам, меньше тыком. по крайней мере пока что.
головатый - django by example - test-driven development with python
Аноним 09/10/16 Вск 21:20:04 #372 №853528 
14760372045860.jpg
>>853526
а я не согласен! сначала надо головатого снести!
Аноним 09/10/16 Вск 21:23:03 #373 №853529 
14760373837420.jpg
ебаный линепс! не игор нихуя, нихуя нихуя!
Аноним 09/10/16 Вск 21:24:32 #374 №853530 
14760374724700.jpg
>>853520
>>853520
>С виртуальной средой я поебался и что-то нихуя в итоге не вышло. Гайдов понятных так и не нагуглил. Подумываю снести систему, чтобы поставить сразу с дефолным питоном нормальным.
Сука пиздец. Сделал мой вечер.
Аноним 09/10/16 Вск 21:25:23 #375 №853531 
14760375240410.png
>>853514

Аноним 09/10/16 Вск 21:26:43 #376 №853533 
14760376030730.jpg
интернет этот еще сука большой заебался искать это вот все
Аноним 09/10/16 Вск 21:27:10 #377 №853535 
>>853531
sudo apt-get install python3.5-venv python3.5-pip python3.5-dev
cd proj
python -m venv venv
source venv/bin/activate
Аноним 09/10/16 Вск 21:28:19 #378 №853537 
>>853535
да ему похуй он все в одну строчку хуярит
Аноним 09/10/16 Вск 21:30:16 #379 №853539 
14760378162400.jpg
двач еще этот ебаный чо не спросишь сразу в щщи ебашат пидарасы
Аноним 09/10/16 Вск 21:30:18 #380 №853541 
>>853537
Да просто вы дичь городите все тут, линуксоиды хреновы. Сами не понимаете какие пакеты соотносятся с какой версией, какие либы есть в репах и как они называются.
Я бы и сам запутался.
Аноним 09/10/16 Вск 21:30:44 #381 №853542 
>>853515
Спасибо огромное, анончик! Твоя инструкция помогла.
А как ты сам разбирался в этом вопросе? Я просто хотел бы понять методологическую свою ошибку, чтобы в следующий раз не бежать на двачи плакаться Или это нормально и все так по началу делали? Ты гуглил и по официальным мануалам учил или книжки какие? Или также советы спрашивал в своё время?
Аноним 09/10/16 Вск 21:31:09 #382 №853543 
>>853541
>>853539
Аноним 09/10/16 Вск 21:32:26 #383 №853546 
14760379465890.jpg
Короче ставь Arch Linux
Там сразу третий бидон.
И вообще как система он лутше убунту.
Сейчас все на арче сидят кто в теме.
Аноним 09/10/16 Вск 21:32:30 #384 №853547 
>>853541
Можешь кстати поставить PyCharm и из него создавать свои окружения, инсталить пакеты и не тащить библиотеки в систему в принципе.
Аноним 09/10/16 Вск 21:34:18 #385 №853549 
>>853529
Тащемта дота на линух есть, а чего тебе ещё нужно?
Аноним 09/10/16 Вск 21:36:17 #386 №853552 
14760381777830.jpg
>>853549
есть мануал как в виртуальном окружении ее запустить!?
Аноним 09/10/16 Вск 21:36:32 #387 №853553 
>>847091 (OP)
Питоно конфа http://link.limo/programach
Аноним 09/10/16 Вск 21:41:09 #388 №853557 
14760384692270.jpg
>>853553
зато питоноконф дохуя! по 20 штук в день создается
Аноним 09/10/16 Вск 21:44:55 #389 №853563 
>>853542
не помню уже.
так, на вскидку, рано в джанго суёшься если эту штуку не понимаешь.
классическое обучение питону где-то такое:
codecademy - a byte of python - think python -- и всё это почитывая параллельно лутца
потом джанго по >>853526 вот этой схеме
у меня где-то месяца 4 ушло на всё это с нулевого знания программинга и линукса, и я фигачил нифига не по пять часов в сутки
Аноним 09/10/16 Вск 21:46:40 #390 №853565 
Аноны, чисто ради спортивного интереса, кто на какой ОС сидит? Признавайтесь!
Аноним 09/10/16 Вск 21:47:48 #391 №853567 
>>853565
plan9 жи
Аноним 09/10/16 Вск 21:48:36 #392 №853570 
>>853565
uvuntu 16.04
Аноним 09/10/16 Вск 21:50:42 #393 №853572 
>>853273
Бля, да не слушай таких петухов если он на самом деле это сказал
Аноним 09/10/16 Вск 21:53:17 #394 №853574 
>>853565
ubuntu 16.04 с оформлением от яблока.
Аноним 09/10/16 Вск 21:55:23 #395 №853576 
>>853503
pyenv, ёпту
Аноним 09/10/16 Вск 21:57:43 #396 №853578 
>>853546
Проиграл.
Аноним 09/10/16 Вск 21:58:04 #397 №853579 
>>853507
>>853516
Вдогонку, если кто работал с либой multiprocessing и ее Pool, можете подсказать, в асихронном режиме его потоки будут лопатить передаваемый в параметрах список одновременно или ждать завершения друг дружки?
>>853565
Gentoo на форчане посоветовали, когда я музыку искал в поездку, они на все там пишут install gentoo
Тут местный apt-get написан на питоне, плюс есть eselect, чтоб между версиями переключаться одной кнопкой.
Аноним 09/10/16 Вск 22:00:46 #398 №853584 
>>853565
Арч
Аноним 09/10/16 Вск 22:02:58 #399 №853587 
>>853579
запуск ^потока^ процесса через мультипроцессинг никак не влияет на твой асинхронный код, как напишешь так и будет
Аноним 09/10/16 Вск 22:03:27 #400 №853590 
>>853579
как создавать contex processors?
раньше просто было папку создаёшь, туда файлы с импортами из моделей, и в настройках пропискать
сейчас вообще в 1.10 контекс процессоров не вижу
Аноним 09/10/16 Вск 22:08:57 #401 №853592 
>>853579
>>853587
вот https://pymotw.com/3/asyncio/executors.html
Аноним 09/10/16 Вск 22:10:03 #402 №853595 
>>853590
settings->TEMPLATES->OPTIONS->context_processors
Аноним 09/10/16 Вск 22:12:36 #403 №853598 
>>853592
и кстати, executor = concurrent.futures.ProcessPoolExecutor(
max_workers=3,
)
max_workers - по умолчанию количество ядер, потому можешь не определять
Аноним 09/10/16 Вск 22:20:06 #404 №853605 
>>853595
спасибо большое.
Аноним 09/10/16 Вск 22:56:54 #405 №853634 
>>853579
> одной кнопкой
Сука, перехожу на генту! СЕГОДНЯ ЖЕ
Аноним 09/10/16 Вск 23:19:19 #406 №853649 
>>853634
Да забей, все равно кругом докер с вагрантом.
Аноним 09/10/16 Вск 23:53:44 #407 №853664 
>>853634
Переходи, это лучший дистр сегодня.
Аноним 09/10/16 Вск 23:56:00 #408 №853666 
14760465601080.png
>>853634
>>853664
Семён Семёнович!
Аноним 10/10/16 Пнд 00:05:50 #409 №853671 
>>853666
Плохой детектор, чини.
Аноним 10/10/16 Пнд 00:09:02 #410 №853672 
почему, блядь, не работает этот чёртов context_processor

project
-project_dir
--settings.py:
>TEMPLATES = [
>..OPTIONS': {
>....'context_processors': [
>......'context_processors.deals.deal', - вот он, сука
-context_processors
--deals:
>def deal(request):
>..context = {'deal': Deal.objects.last() }
>..return context

в шаблоне просто:
{{ deal.event }}
и ёбанный в рот нихуя
как только не пробовал, и блядь по-старому через render, render_to_responce, и через блядь from django.template import Context, Template и Template.render(Context(context))

что за ёбанный нахуй в рот и жопу блядь, у меня уже сука зла нехватает
Аноним 10/10/16 Пнд 00:30:33 #411 №853676 
>>853672
попробуй создать ctx = Context(context) поставь точку останова в своей йоба иде и посмотри что в ctx.
Аноним 10/10/16 Пнд 00:36:50 #412 №853678 
>>853676
ебать я лох бессонный, я внезапно обнаружил что сам с шаблона потёр этот блок. пиздец.
дайте мне медальку дауна.
Аноним 10/10/16 Пнд 00:40:40 #413 №853679 
>>853671
Генту-фанбои подтянулись?
Аноним 10/10/16 Пнд 00:48:43 #414 №853681 
>>853676
cпасибо, всё равно. а то я и ночь мог ебаться.
Аноним 10/10/16 Пнд 01:16:30 #415 №853687 
А поясните как форму сохранять в модель, а то я уже чего-то совсем торможу

models.py
>class Feedback(models.Model):
>..message = models.TextField()

forms.py
>class FeedbackForm(form.Form):
>..message = forms.CharField(required=True, widget=forms.Textarea)

>..def save(self):
>....instance = super(FeedbackForm, self).save(commit=False)
>....instance.message = self.message.clean()
>....instance.save()
>....return instance

base.html
><form>
><textarea id="message"></textarea>
>{% csrf_token %}
><button type="submit" name="submit">Отправить</button>
></form>

щито я упускаю?
Аноним 10/10/16 Пнд 04:00:46 #416 №853742 
Pandas кун, ты куда пропал? Где там твой гайд йобанаврот?
Аноним 10/10/16 Пнд 08:46:30 #417 №853781 
>>853742
https://vk.com/doc150859067_437242928?hash=e6586f6b948830d188&dl=165970d1c09aa2a598
Аноним 10/10/16 Пнд 09:24:40 #418 №853788 
>>853687
Зачем ты переопределяешь save()? Ты ведь не делаешь никаких кастомных валидаций, а только вызываешь clean(), который, по сути, и так вызовется.

Что у тебя во view.py?
Аноним 10/10/16 Пнд 09:30:23 #419 №853790 
>>853788
Если делать дополнительные проверки, то переопределять clean() тогда уж
Аноним 10/10/16 Пнд 11:00:26 #420 №853835 
>>853788
Смотри, дружище, всё что есть:

feedback/models.py
>class FeedBack(models.Model):
>..date = models.DateTimeField(blank=True)
>..name = models.CharField(max_length=140)
>..mail = models.EmailField()
>..message = models.TextField()

feedback/forms.py
>class FeedBackForm(forms.ModelForm):
>..name = forms.CharField(required=True)
>..mail = forms.CharField(required=True)
>..message = forms.CharField(required=True, widget=forms.Textarea)
>
>..class Meta:
>....model = FeedBack
>....fields = ('name', 'mail', 'message')

feedback/context_processor.py
>def feedback_form(request):
>..form = FeedBackForm()
>..return {'form': form}

templates/base.html
>{% block feedback %}
>..{% include "feedback/feedback.html" %}
>{% endblock %}

feedback/templates/feedback/feedback.html
><form role="form" action="" method="post">
>..{% csrf_token %}
>..{{ form.as_p }}
>..<button type="submit" class="btn">Отправить</button>
></form>

Не сохраняет нихуя. У меня уже и башка не соображает.
Аноним 10/10/16 Пнд 11:17:11 #421 №853839 
>>853835
Если это все, что есть, то тебе наверное не хватает вьюхи, которая будет обрабатывать POST запрос? Типа:

>def handle_form(request):
>if request.method == 'POST':
>....form = FeedBackForm(request.POST)
>....if form.is_valid():
>........form.save()
>........return HttpResponseRedirect('/success_url/')
Аноним 10/10/16 Пнд 11:29:45 #422 №853843 
>>853839
Получается, ты форму рендеришь на более, чем одной странице, раз ты context_processor сделал? Тогда тебе еще надо атрибут action у формы указывать, чтобы слать данные на урл той вьюхи, которая будет брабатывать форму
><form role="form" action="/handle-form-url/" method="post">

И в url.py как-то так:
>urlpatterns = [
>....url(r'^handle-form-url/$', views.handle_form),
>]
Аноним 10/10/16 Пнд 11:34:58 #423 №853846 
>>853839
Я БЫ ТЕБЯ РАСЦЕЛОВАЛ, ЕЙ-БОГУ
спасибо дружище, я в долгу
Аноним 10/10/16 Пнд 14:47:29 #424 №853929 
>>853515
у меня модель
class Book(model.Model)
____genre = model.ForeignKey(Genre)
____author = model.ForeignKey(Author)

есть еще
class Genre(model.Model)
____тут их поля

аналогично для Author

я во вьюху отдаю книгу. У Genre и Author есть свои поля, я их тоже хочу показать в темплейте, как мне выдать на темплейт именно связанные объекты с той книгой, которая у меня идет на вьюху мою?
Аноним 10/10/16 Пнд 15:33:12 #425 №853954 
>>853929
Ну тебе анон ведь правильно подсказал - через точки
>book = Book.objects.select_related().get(pk=1)
select_related() нужно для того, чтобы сразу связанные объекты подтянуть - чтобы, когда ты будешь запрашивать автора, лишних запросов к бд не было
И дальше, например:
>author_name = book.author.name
Или в шаблоне
>{{ book.author.name }}

Аноним 10/10/16 Пнд 16:08:02 #426 №853963 
Котаны, есть один файл.
В этом файле лежат zlib-архивы. Но в файле нет никаких метаданных типа размера/количества файлов/оффсетов и т.п, вообще нихуя нет, кроме архивов. Даже разделителей между ними нет, они тупо идут друг за другом. Но сжатие у всех одинаковое, так что хедер (CMF+FLG) тоже и по нему можно понять где начало нового архива. Количество и размер файлов тоже неизвестен.
Так вот, нужно как-то прочитать ВСЕ архивы из файла и распаковать их. И вот на этом-то я и застрял. Прочитать самый первый получается без проблем, а вот как остальные за ним - вообще не ебу.
Программач, подскажи чего-нибудь?
Аноним 10/10/16 Пнд 16:10:23 #427 №853966 
>>853963
Я думаю следует выложить код, который сработал у тебя для одного архива.
Аноним 10/10/16 Пнд 16:15:12 #428 №853970 
>>853966
[code lang=python]
for filename in sys.argv[1:]:
with open(filename, 'rb') as compressed:
with open(filename + '-decompressed', 'wb') as expanded:
data = zlib.decompress(compressed.read())
expanded.write(data)
print compressed.tell()
[/code]
Аноним 10/10/16 Пнд 16:58:02 #429 №853985 
Хлопчики, а поясните мне о вагранте, докере и всяких тест-серверах в виртуалке.
Что выбрать? Как правильнее это всё организовать?
Аноним 10/10/16 Пнд 17:13:16 #430 №853992 
>>853985
https://www.youtube.com/watch?v=RN8PdCB__lQ
В начале видео немного о вагрант, но на элементарном уровне и без должного объяснения.
Аноним 10/10/16 Пнд 17:36:04 #431 №854005 
>>853954
ебать. Если так, то охуенно. Спасибо
Аноним 10/10/16 Пнд 18:01:46 #432 №854016 
14761117065190.png
14761117065241.png
14761117065282.png
14761117065323.png
Еее ананасы. Я наконец дописал ИГРУ ЖИЗНЬи она работает (^_^)
Аноним 10/10/16 Пнд 18:04:09 #433 №854017 
>>854016
Вот код на хиджабе.
http://github.com/izicoder/some_stuff/thelife.py
не финальная версия
Аноним 10/10/16 Пнд 18:05:50 #434 №854018 
>>854017
Проебался.
Вот код.
https://github.com/izicoder/some_stuff/blob/master/thelife.py
Аноним 10/10/16 Пнд 18:06:54 #435 №854020 
>>854016
Хочу также. По какому гайду делал?
Аноним 10/10/16 Пнд 18:11:42 #436 №854024 
>>854020
ни по какому. Азазаз
Аноним 10/10/16 Пнд 18:13:38 #437 №854025 
>>854020
По этому.
https://ru.m.wikipedia.org/wiki/%D0%96%D0%B8%D0%B7%D0%BD%D1%8C_(%D0%B8%D0%B3%D1%80%D0%B0)
Аноним 10/10/16 Пнд 18:37:11 #438 №854033 
14761138319150.png
>>853503
>Как вы вообще работаете с разными версиями?
Ну я, например, на дебиане не парюсь и просто явно указываю версию (python3 вызывает самую свежую трёшку, python - самую свежую двушку), проверено, что на маках работает так же.
Аноним 10/10/16 Пнд 18:52:06 #439 №854040 
>>853503
>Как вы вообще работаете с разными версиями?
pyenv
Аноним 10/10/16 Пнд 18:53:26 #440 №854042 
>>854033
А смысл держать больше одной версии в каждой ветке?
Аноним 10/10/16 Пнд 18:57:28 #441 №854045 
>>854042
Некоторые тяжёлые либы долго и/или сложно собрать из исходников (opencv, например). Поэтому приходится использовать "системную" версию питона из-за бинарных пакетов.
Аноним 10/10/16 Пнд 19:12:11 #442 №854061 
14761159320420.png
реально ли на python достойно решить олимпиадные задачки всероссийского уровня?
Аноним 10/10/16 Пнд 19:12:18 #443 №854063 
>>853954
ЕБАТЬ СПАСИБО, ЩА ЗАТЕСТИЛ, ВСЕ ЗАЕБИСЬ.
Блядь, так бы и сидел как даун, если бы не спросил. Пойду читать доку целиком наверное наконец.
Аноним 10/10/16 Пнд 19:17:19 #444 №854072 
>>854061
Вряд ли, в производительность всё упрётся.
Аноним 10/10/16 Пнд 19:38:18 #445 №854081 
>>854061
Пример задачи.
Аноним 10/10/16 Пнд 20:05:53 #446 №854104 
>>847091 (OP)
О всемогущий Aнон можешь ли ты мне пояснить, почему в ответ на код:
>s = 'd x d x d + d x d'
>re.findall('d(x d)*', s)
интерпретатор отвечает мне
>[' x d', ' x d']
заместо православного
>['d x d x d', 'd x d']
Подскажи, о могучий, где я налажал и как это исправить.
Аноним 10/10/16 Пнд 20:41:41 #447 №854123 
>>854104
RTFM блджад
>Return all non-overlapping matches
>non-overlapping
Поэтому никаких 'd x d x d'

> If one or more groups are present in the pattern, return a list of groups
>(...) indicates the start and end of a group
Поэтому и возвращает 'x d'.
Аноним 10/10/16 Пнд 21:05:35 #448 №854138 
>>854123
Хорошо, но как, в таком случае, получить искомый результат без построения адовых велосипедов?
Аноним 10/10/16 Пнд 21:09:28 #449 №854141 
>>854138
Вариант без регулярок сгодится?
>s.split(' + ')
Аноним 10/10/16 Пнд 21:18:10 #450 №854155 
>>854141
Решение вполне действенное в данном случае, но не универсальное. Хотелось бы найти способ с регулярками.
Аноним 10/10/16 Пнд 22:08:32 #451 №854187 
14761265123900.jpg
Почаны, через что удобнее всего выводить много данных, чтобы можно было потом посмотреть?
Короче, каждый день каждые пять минут записываются данные, и мне нужно будет потом сравнить по дням чтобы дни рядом были и значения за каждый час, минуту.
Графики походу сложные будут, идеальнee всего таблицы, но сsv по-моему не для таких целей.
Аноним 10/10/16 Пнд 22:10:23 #452 №854190 
>>854187
PANDAS
A
N
D
A
S
Аноним 10/10/16 Пнд 22:15:09 #453 №854194 
>>854190
А там не сложно? И куда оно будет выводить, в айпутхон штоле или хтмл-файл?
Пробовал как-то с bokeh - оказалось дико муторно.
Аноним 10/10/16 Пнд 22:18:23 #454 №854195 
Ладно, хуй с вами, щас напишу свой парсер-графикорисовалку для этй мутни.
Аноним 10/10/16 Пнд 22:32:56 #455 №854211 
14761279761180.jpg
Пайтоны, выручайте. Нужно из питоньего кода запускать линуксовый бинарник казалось бы, ок, юзай системные вызовы и обрабатывать высираемый бинарником результат. Проблема в том, что бинарь выводит в STDOUT данные в час по чайной ложке и обработать каждую строку нужно по мере появления, а не в конце, когда весь вывод будет окончательно сформирован. Может вы знаете, как такое сделать?
Аноним 11/10/16 Втр 01:41:29 #456 №854329 
>>854211
p = subprocess.Popen(args,
____stdout = subprocess.PIPE,
____stderr = subprocess.STDOUT,
)
while p.poll() is None:
____line = p.stdout.readline()

?
Не могу проверить, пишу с картофелины
Аноним 11/10/16 Втр 13:03:17 #457 №854537 
Как в Django правильно работать со сторонними модулями?
Допустим, я хочу взять откуда-то дату через requests и направить в шаблон через контекст. Где правильно импортировать requests и использовать его? Или по гайдлайнам джанго нужно для этого создавать новое приложение?
Вообще, дайте пожалуйста юзкейсы с гитхаба, где джанго используется для построения сервисов, а не просто сайтов и общается не только со своей БД, но еще и со сторонними модулями (генераторы пдфок может, или картинок, или еще что).
Аноним 11/10/16 Втр 13:25:22 #458 №854554 
>>854537
Джанго бай экзампл вроде много такого было. Подробности не помню, а как делать самому без книги - не знаю, так что просто в качестве наводки.
Аноним 11/10/16 Втр 13:36:25 #459 №854563 
>>854537
где угодно ты можешь встроить свою логику, точек входа просто уйма: views, models, context_processors, middlewares...
джанга - не анально огороженная cms, джанга - фреймворк.
в твоем случае логику проще всего написать во вью:
import requests

def index(request):
r = requests.get('http://2ch.mail.ru/the_date_of_sudni_day_suka')
date = .....
context = {'date': data['date']}
return render(request, 'index.html', context)
Аноним 11/10/16 Втр 13:40:51 #460 №854567 
>>854563
Моих знаний достаточно, чтобы сделать то что ты говоришь. Дело в том, что я хочу не просто писать быдлокод, захламляя проект, а делать как правильно. Вот ищу типовой проект чтобы посмотреть как это делают профи.
Аноним 11/10/16 Втр 13:42:44 #461 №854569 
>>854567
дак все зависит от конкретной бизнес логики приложения. просто пиши где удобно и все - профи, ебана, так и делают.
Аноним 11/10/16 Втр 13:47:36 #462 №854576 
>>854567
и кстати, что непрофессионального в requests.get во вьюхе?
Аноним 11/10/16 Втр 14:09:58 #463 №854582 
>>854576
Дело не в requests.get, а в том что это может быть другая библиотека с кучей кода под нее. Я бы логически вынес это в виде фкнкций в отдельный файл, затем из него во вью импортировал и выполнял функции. Но мне кажется это нарушит структуру django проекта.
Аноним 11/10/16 Втр 14:16:40 #464 №854587 
>>854582
да никак это не нарушит) я видел проект (сложный большой...) где от первоначальной структуры (как в туториале) не осталось нихуя вообще, там запилили свой фреймворк на джанго фреймворке, и нихуя! работает!
Аноним 11/10/16 Втр 14:18:20 #465 №854588 
>>854587
Ну пиздос, работать-то будет это, я понимаю. Но хотелось бы начинать с гуд-практиса сразу.
Аноним 11/10/16 Втр 14:23:52 #466 №854594 
>>854588
тогда нужно начать с постановки задачи.. вот тебе нужна эта дата посредством рекветс... она нужна в каждом вью или только в одном?
Аноним 11/10/16 Втр 14:30:02 #467 №854597 
>>854594
Тащемта мне нужен не requests, я привел его как пример. Мне нужно генерить данные через pypdf, принимая аргументами инпуты из форм.
Аноним 11/10/16 Втр 14:35:09 #468 №854600 
>>854597
прозреваю что у тебя есть какой то 1 вью с формой.
тогда просто пили файл типа "eba_pdf_functions.py", клади его рядом с forms.py или куда угодно, импортируй функцию generate_pdf из этого файла в туда, где ты будешь обрабатывать инпуты, все.
Аноним 11/10/16 Втр 14:36:21 #469 №854602 
14761857816030.png
Простыми словами о пикрелейтед, пожалуйста.
Аноним 11/10/16 Втр 14:39:35 #470 №854606 
>>854602
ты импортируешь что то из __future__ пайчарм предлагает тебе включить проверку на совместимость этого чего то с твоим кодом. (я обычно жмакая no)
Аноним 11/10/16 Втр 14:42:44 #471 №854610 
>>854606
Странно, ручных импортов я не делал. Видимо, где-то в модулях. Что это вообще? Функционал, который тестируется для выхода в следующих версиях языка или что?
Аноним 11/10/16 Втр 14:45:04 #472 №854614 
>>854610
скорее функционал бекпортированный в текущую ветку интерпретатора. типа захотелось вкусностей из новой ветки вот и портировали
Аноним 11/10/16 Втр 15:22:10 #473 №854646 
>>854588
2 scoops of django и django by example тебе уже советовали
Аноним 11/10/16 Втр 17:29:20 #474 №854721 
Как реализовать редактирование существующей записи в бд, используя ту же форму, что и при создании этой записи? Мне бы сделать так, чтобы при показе формы редактирования отображались старые данные в полях, которые я смогу изменить. Куда копать?
Аноним 11/10/16 Втр 17:39:09 #475 №854727 
>>854721
Django?
В чем проблема? Инициализируй форму значениями существующей записи
Аноним 11/10/16 Втр 17:41:54 #476 №854729 
>>854721
Используешь ModelForm?
Вот тут глянь пример https://docs.djangoproject.com/en/1.10/topics/forms/modelforms/#modelform
Аноним 11/10/16 Втр 17:44:47 #477 №854733 
>>854729
Да, спасибо. То что нужно
>>854727
Тебе тоже.
Аноним 11/10/16 Втр 18:35:48 #478 №854766 
14762001489420.jpg
>>854329
Спасибо, то что нужно.
Извини, только сейчас смог проверить.
Аноним 11/10/16 Втр 19:19:32 #479 №854796 
>>854727
>>854729
Не, я не понял. Как мне проапдейтить старую запись, а не делать новую на основе этой инфы? Все что я пытаюсь сделать создает новую запись.
Аноним 11/10/16 Втр 19:28:16 #480 №854811 
Как Javascript использовать в джанго? Или чем там делаются всякие свистоперделки?
Аноним 11/10/16 Втр 19:29:47 #481 №854813 
>>854811
Javascript используют на стороне клиента. Соответственно, тебе подойдут любые мануалы по JS.
Аноним 11/10/16 Втр 19:29:58 #482 №854814 
>>854796
Ну ты ведь так делаешь?
>article = Article.objects.get(pk=1)
>form = ArticleForm(instance=article)

Дальше сохраняешь
>if request.method == 'POST':
>....form = ArticleForm(request.POST, instance=article)
>....if form.is_valid:
>........form.save()

Вот как-то так должно работать, проверь
Аноним 11/10/16 Втр 19:31:29 #483 №854815 
>>854813
Селекторы через джейквери берутся-то как? У джанго же свой темплейт.
Аноним 11/10/16 Втр 19:34:35 #484 №854817 
>>854815
Закрой программач и больше никогда не пытайся даже думать о прогграммировании, свинья.
Аноним 11/10/16 Втр 19:37:00 #485 №854821 
>>854817
>свинья
Как ты ужнал что я из Украины?
Аноним 11/10/16 Втр 19:41:47 #486 №854826 
>>854815
Я не очень знаком с фронтенд. Селекторы выбирают объекты из DOM по параметрам?
Если это то, о чем я думаю, то это не зависит от джанги. Это можно делать прямо в отладочной консоли файрфокса на стороне клиента.
Все что здесь от джанги зависит это выдача статика jqurey.min в темплейт, да и то сейчас все используют wsgi для статики, а лучше CDN.
Аноним 11/10/16 Втр 19:47:12 #487 №854833 
14762044324050.png
>>854826
Объясните, пожалуйста, что здесь происходит.
Супер добавляет к стандартному джанговскому методу models.Model.save код, идущий до супер? Почему просто не использовать декоратор для функции? Почему в супер self передается вторым аргументом? Вообще весь механизм что происходит можете описать? Я начинаю плавать в этом всем.
Аноним 11/10/16 Втр 19:48:55 #488 №854836 
14762045353650.png
>>854833
Перепутал. Вот нормальный шот.
Аноним 11/10/16 Втр 20:15:57 #489 №854854 
>>854814
Да, только он НОВЫЕ записи создает при сэйве. Я не понимаю как старую откорректировать.
Аноним 11/10/16 Втр 20:17:50 #490 №854855 
>>854854
Я тащемта спрашивал а не отвечал.
Аноним 11/10/16 Втр 20:21:54 #491 №854862 
>>854855
Покажи код?
Аноним 11/10/16 Втр 20:22:51 #492 №854863 
>>854862
>>854836
Вот код модели. Меня интересует def save, в какой очередности и что делает супер.
Аноним 11/10/16 Втр 20:40:16 #493 №854879 
>>854854
Я перепробовал все что придумал, он новые озаписи создает блядь, вместо того тчобы старую обновить. Я не ебу что делать
Аноним 11/10/16 Втр 20:57:49 #494 №854890 
Сорри, я тут запутался с постами и создал месс с ответами.
Аноним 11/10/16 Втр 20:58:49 #495 №854892 
Как в PyCharm сделать что бы при запуске скрипта курсор автоматически устанавливался в зону где запускается скрипт? Например требуется ввести что то с клавиатуры, но курсор все еще стоит на последней написанной строке и при вводе чего то с клавы это разумеется записывается в код
Аноним 11/10/16 Втр 21:00:45 #496 №854895 
>>854879
Да покажи же свой код! Мы угадать должны че там у тебя написано?
Аноним 11/10/16 Втр 21:22:08 #497 №854906 
>>854892
По запросу "focus pycharm plugin" вышло нечто такое https://plugins.jetbrains.com/plugin/7138?pr= . Может, это поможет тебе. Хотя я не совсем понял проблему. Там есть пиктограмма "тоггл скролл" или как-то так, которая сама листает вниз по мере вывода.

Алсо, все еще реквестирую помощь --> >>854833 >>854836
Аноним 11/10/16 Втр 22:04:05 #498 №854938 
>>854895
http://pastebin.com/1EsbN5Dc
Аноним 11/10/16 Втр 22:18:20 #499 №854947 
>>854938
http://pastebin.com/kyBcRZ9F строки 6 и 9
Аноним 11/10/16 Втр 23:05:18 #500 №854980 
>>854947
Нет, дружище. Создается новая запись.
Аноним 11/10/16 Втр 23:29:15 #501 №855001 
>>854576
Ну, раз уж ты спросил - представь, что твой requests.get блокирует весь, сука, процесс/тред до получения ответа. А с той стороны рукожопый вебмакак и ответ будет не раньше, чем через 15 секунд, а пока твои юзеры сосут хуй.
Аноним 11/10/16 Втр 23:55:03 #502 №855013 
>>854947
>>854938
>>854980
>>854895
>>854879
>>854854

Так, я понял что я дебич. Ведь я юзал темплейт, окторый гртузил мне форму, которая отправляла свои данные на другую функцию, которая именно создавала книги.
Все-таки наличие второй третьей, четвертой головы засталяет посмотреть на проблему с разных сторон.
не повторяйте моих ошибок
Аноним 11/10/16 Втр 23:58:32 #503 №855014 
>>854836
Супер это "ссылка" на "предка" класса (в "кавычках", потому что все чуть сложнее).
self(ClassName, self) - синтаксис 2 версии питона, в 3 все проще - super() и все
Т.е. все что этот код делает - устанавливает slug и вызывает потом метод .save() в том виде, как он определен у предка (т.е. у models.Model).
http://ideone.com/w4b1GB
Аноним 12/10/16 Срд 01:06:00 #504 №855036 
>>855001
раз уж ты ответил - хули ты сразу не написал что твой реквестс будет тяжелым? тогда стандартно - делаем таск в целери, отдаем во вьюхе статус "process"...
Аноним 12/10/16 Срд 01:09:20 #505 №855040 
>>855036
или джанго чаннелс, но я их не пробовал, возможно ошибаюсь на их счет.
Аноним 12/10/16 Срд 01:11:43 #506 №855041 
>>855001
да и вообще писать подобные штуки на блокирующем фреймворке как то странно, не находишь? почему не взять aiohttp, если это апи сервис?
Аноним 12/10/16 Срд 01:58:05 #507 №855053 
>>855036
>>855040
>>855041
Как джангист раскудахтался!
Аноним 12/10/16 Срд 02:30:08 #508 №855064 
>>855053
почему джангист и почему раскудахтался?
Аноним 12/10/16 Срд 02:42:25 #509 №855065 
>>855064
пок-пок-пок
Аноним 12/10/16 Срд 02:45:49 #510 №855066 
>>855065
странный ты
Аноним 12/10/16 Срд 02:47:36 #511 №855067 
>>855066
Ладно, прости, думал ты джангист. джанго для дибилов
Аноним 12/10/16 Срд 02:56:16 #512 №855068 
>>855067
то есть один из крутейших веб фреймворков, с огромным сообществом и солидной историей - для дебилов?
Аноним 12/10/16 Срд 05:49:57 #513 №855103 
>>855102 (OP) Перекат
>>855102 (OP) Перекат
>>855102 (OP) Перекат

comments powered by Disqus

Отзывы и предложения