https://github.com/TheKnightsWhoSayNi/info/wiki/HatПрошлый: >>838684 (OP)
>>847046>Как можно посмотреть, какой код находится внутри {{ form.as_p }}Посмотри на код отрендеренной HTML страницы, там у полей формы должен быть атрибут id - можешь написать свои стили для полей. Должно быть что-то типа "id_<имя поля>"Или, наверное, можно в пределах тега <form> всем инпутам задавать стили оформления. Добавь форме какой-то свой id и можешь менять стили только для нее. Можешь еще форму отображать просто как {{ form }}. В это случае поля не будут обернуты в тег <p> - возможно, тебе это поможет.
>>847091 (OP)Как переименовать файлы с 00.txt на 0000.txt на питон?Юзаю портабельный питон.
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.Че он хочет от меня-то блядь? У меня форма авторизации, которая отправляет логин-пароль.
>>847186Решено с помощью Bulk Rename Utility.
>>847217разобрался
У меня есть вьюха 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 бар, в котором должен отображаться юзернейм.
>>847274{{ request.user }}
>>847288Хуйня, не пашет, че только не перепробовал, ни в какую. В чем может быть проблема?
>>847295Да, забыл сказать, что нужно еще добавить в настройках шаблонов строку 'django.template.context_processors.request'В файле settings.py TEMPLATES --> OPTIONS --> context_processors - там увидишьПосле этого ты будешь иметь доступ к объекту request из любого шаблона
>>847295>>847297Разобрался, хуево было отформатирована переменная. Джанге оказывается строго важно, чтобы внутри {{ }} не было переносов строк и т.п хуйни.Анону все равно сенкс
Что нужно тестировать в маленьком проекте джанги уровня вкатывальщика ?
Блин, читаю про объект none, и мне, не знаю от чего, пиздецки страшно стало. Больно странная вообще эта вещь. Я один такой ебанат и буковок боюсь?
>>847514Дай угадаю, ты тот самый поехавший, что в прошлом треде написал прогу, выбирающую из двух YOB?
>>847517А разве не очевидно. Чем вообще можно будет заняться после прохождения курса SoloLearn? У меня уже половина пройдена.
Попытался я тут освоить отладчик в пичарме наверно единственная вещь через которую можно юзать это джаватормоз и чот не пойму за step out, чому когда я делаю step out, меня перекидывает на этот код вместо могео шкрипта?
Хай питоняши, начинающему питоняше нужна помощь, как проверить выход за пределы массива? Я так понимаю, что например array[-1, x] - это просто 2 элемент в столбце с конца?
>>847621Точнее, видимо первый.
>>847621Эксепшен сам вылезет IndexError: list index out of range.Индекс должен быть один интеджер, твой array[-1,x] не сработает.
>>847646а вот и нет
>>847646Вывод поселению строку, либо последний символ
Сап, /pr/. У меня платина, видимо, но я не вижу в факах чёткого и понятного ответа.Я одминю по жизни, а любой админ - немножко кодер: написать гуёвину на чём-нибудь попроще для каких-нибудь настроекв моём случае Delphi/Lazarus, наваять скриптовое полотенцеVB/sh/Perl и т.п. Есть пара своих проектов, которые начинались на Delphi, потом были подправлены для Lazarus, но на самом деле с того момента, как закончил универ толком не кодил.Сейчас думаю о том, чтобы освоить Пайтон в первую очередь для своих проектов, а там, может, для своего сайта вместо пыхи, да скрипты универсальные получить, и, что немаловажно для меня - для моего смартфона на SailfishOS можно писать на PyQt, но это потом. Собственно, отсюда и вопрос: допустим я написал прогу с гуём на своём лине, например, на ПайКьют, но я хочу выложить её в паблик в том числе для виндузятников, смогу ли я просто выложить exe/exe+dll или что-нибудь в этом роде, чтобы потенциальным пользователям не пришлось ставить Python? Винды для компиляции и тестирования я найду.Вообще можно ли как-то без заморочек распространять софт на питоне и в общих чертах (детали найду сам, когда понадобится) - как это выглядит?Надеюсь, достаточно понятно сформулировал.
>>847675py2exe winpy2app osx
КРЯЯЯЯЯЯ ИДЕ НИНУЖНО, ВОТ Я К ТЕКСТОВОМУ РЕДАКТОРУ АВТОДОПОЛНЕНИЕ ПРИКРУТИЛ И ЗАЕБИСЬ111
>>847705Здесь далеко не всем нужно писать поддерживаемый код для повторного использования. Да и один хуй без знания PEP никакие шармы тебе не помогут сделать правильно.
>>847697>py2exe win>py2app osxЭто надёжный и рабочий метод без сбоев? И просто интересно, но не критично - можно ли потом из бинарника вырвать текст скрипта?
>>847743Можно конечно, это же питон. Чтоб прям нельзя было выдернуть, это наверное только какой-нибудь cython поможет.
>>847743Судя по гуглу, можно.Кстати, подписался на вопрос.
>>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 метров, в комплекте шли тулзы для уменьшения объёма, потом чекбокс "включать информацию для отладки" появился в опциях, а теперь он ещё и снят по умолчанию..
>>847802Я упаковывал с помощью pyInstaller. Там вообще делать ничего не надо - просто запустил, и он сам упакует. Но размеры получаются по 1-2 мегабайта на хелловорлд (потому что это питон). Попробуй ребол. Он и проще и функциональности побольше, да и твой говнокод там вполне идиоматичен будет. И в exe тоже можно экспортировать через XpackerX.
c=lambda d:d and d.pop()+c(d)or 0ПОчему оно не циклится на c([])?ПОчему сразу возвращает []?
>>847675PyInstaller. Просто как два пальца сломать. Просто поставь, через 5 минут чтения туториала у тебя уже будет билд на руках.Бугурт только будет от размера приложения. Пару метров будет сам питон, плюс метров 60 будет для каких-нибудь кутей, на которых ты свой двухкнопочный гуй для настроек запилишь. Фиг знает, вроде оптимизируется, но вряд ли до положенных толщин.Так что сразу разрабатывай огромные программы, чтобы никто не лошил за размер дистрибутива.
Вот я не пойму. Это карма или что? Почему все функции которые описаны работают, кроме той что мне нужна?Что я делаю не так?
>>847675>написать гуёвину на чём-нибудь попроще для каких-нибудь настроекВ 2k16 это большая проблема, единственное, что могу посоветовать это wxWidget> чтобы потенциальным пользователям не пришлось ставить Python?Сейчас такого дерьма почти нету увы(?)java/c#/python/ruby/nodejs/php/lisp всем нужна VM
>>847898Есть еще electron для гуевин. Но я лично осуждаю вебокошки.
>>847900Оно медленновасто, а вообще задумка интереснаяА еще есть WinJS
>>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 и то на апаче, а вопрос кагбе именно в дистрибуции.
Ребят, как вставить html код в python, чтобы в консольке цветные буквы были?
>>847935>ну да, .net-то у него уже есть навернякаТем не менее, его надо в инсталлер включать.Я уже всерьез подумываю о плюсах, из-за этого дерьма
Никто не знает куда переместили https://code.djangoproject.com/wiki/DjangoResources?
Алло, бамп >>847564неужели никто не пользуется пичармом? знаю что не пользуются, но ведь наверняка установили
>>847935Дегрод, такую то хуйню высрал, даже лень пояснять.
В 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()
>>847969Все, разобрался.
Бамп посту >>847885 .Вот декларация класса.http://pastebin.com/raw/kR107Lhj
>>847979dir показывает что метода 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']
>>847982*colours
>>847982Да, ты чертовски прав, это работает.Какой-то вообще кучерявый модуль. Индексатор пайшарма вообще методы не видит для него, в документации ошибки. Как это прошло в пакэджиндекс неясно.
>>847985А что за приложение пишешь?
>>847989Уже собственно написал. Допиливаю.Генератор обоев из ascii животных. Все это в фласковой обертке. Вот встал вопрос выбора хороших контрастных цветов, и нашел пару сервисов. Самые лучшие - колорловерс и адобе колорс. Адобе охуенен, но он выдает дату только жабаскриптом, так что там или фантомЖс подключать чтоб кровлить либо искать замену. Вот так вышел на то поделие.Осталось сейчас прикрутить генератор цветов и задеплоить в хероку. К вечеру выкачу сюды на пощелкать.
>>847991>ascii животныхЭто ascii арт? Тип такого:
>>847995Наверное :)
Подскажите форумы где можно пообщаться на тему питона.
>>848038https://2ch.pm/pr/res/847091.html
>>848040Зачем ты так со мной?
>>848042За то, що я тебя ненавижу.
Ну что же.Кратко: https://asciiwp.herokuapp.com/Длинно:После небольшой ебли с хероку, я наконец даю на тест это чудо быдлокода от человека, который не хочет учить питон, но хочет что-то на нем делать.Суть проста: вы выбираете нужный размер и получаете замечательную уникальную минималистичную (или нет) обоину с преставителями фауны нашей планеты.Животные берутся из апи, их число неустановлено, ибо выдается одно рандомное за раз. Цветовая палитра парсится с замечательного агрегатора палитр ColourLovers. Цвета принадлежат одной палитре(каждый раз новой), что должно отсеять уебищные и сливающиеся цвета. Отдельное спасибо хочется сказать мейнтейнерам Pillow, которые до сих пор не могут замержить однолетний патч для многострочного textsize().Верстка делалась на коленке, ибо десктоп с маком и нужным софтом сейчас недоступен. Слепил из стартеркита бутстрапа.Вещает через gUnicorn.
>>848104Крутота! Я уже 24 штуки сгенерировал. Ты молодец.
>>848104Скример, лучше не открывайте ссылку.
>>848113Да я вижу :)Спасибо.Интересно сколько выдержит бесплатный хероку таким темпом.
>>848113Кстати комбинации все-таки бледные-хуевые. Нужно будет эксперементировать с ключевиками для поиска палитр.
Питонеры пионеры как сменить объект рендеринга в pygame??
>>848156ПРОСТО) берешь и меняешь БЕЗ ЗАДНЕЙ МЫСЛИ))
>>848115>>848168Господин, проследуйте в другой тематический раздел.
>>848168Аки Бог смолвил
>>847959На гитхабе awesome djangoИ просто загугли full stack python
>>848216Спасибо!
>>848104Код на гит залей
>>848104В дальнейшем можно будет добавлять свой ascii арт для генерации картинки?
>>848276Кидайте идеи, я буду пробовать это делать. Как раз научусь решать реальные задачи.
>>848265вот этому бамп
Сегодня времени отвел не много, но успехи есть:Кратко: https://github.com/thisfieldmustbefilled/ascii-wphttps://asciiwp.herokuapp.com/Всю дикость привел в порядок, прикрутил контоль версий и настроил PyCharm.Пробросил автоматический пайплайн из гитхаба сразу в хероку. Все изменения на гитхабе сразу пуш-деплоятся на работающий сайт.Желающие дописать/подправить мой быдлокод могут делать это штатными методами гит (хотя можно и через тред лол). Хотелось бы не "ты ### твой код ###", а "нужно так а не так".С темплейтами полное говно, но сейчас я не настроен их делать.>>848276Я только сейчас понял что ты хотел. Для этого нужно прикручивать БД, ORM и лепить модели для нее. Это хорошее упражнение, я займусь им. Если охота что-то свое сгенерить то пока костыль: https://asciiwp.herokuapp.com/custom .При 30 минутах неактива на фри аккаунте Heroku валит воркеры, так что если сайт долго отвечает, значит погодите сервак авоматически подымается (~10сек).Мимо ваш зеленый питонщик.Почему так вяло в треде? .hk не резолвится и все забыли про зеркала?
>>848394А чего убрал кнопки, чтобы сразу генерировать картинки для ноутов и десктопов? Было удобно.
>>848403Все дело в том, что обработчик форм из короба не умеет в несколько форм, постящих на один и тот же урл. Нужно либо содавать дополнительные маршруты, либо писать более изящный костыль. Я вчера только заметил что кнопка для десктопа выдавала 1366x768 и цсрф токен был у нее тот же. Добавлю фичу в следующем коммите.
>>848394Что в инпут-то вводить?
>>848408На лицевой только размеры в пикселях.На кастоме любой многострочный ASCII из интернета.
>>848394Да, я это и имел в виду.
>>848394Только я не понял по какому принципу подбираются цвета.
>>848412Отсюда [ http://www.colourlovers.com/palettes ] через API берется одна произвольная палитра цветов с тегом 'spring'. Далее из нее произаольно выбираются два неодинаковых цвета (для фона и для текста). Это можно посмотреть в "lovers.py"
иногда получается вот такой пиздец
>>848486Да, невозможно толком застраховаться от вырвиглазных паллетов и паллетов из оттенков одного цвета. Я не вижу принципа для создания выборки. В топ-палетах полно кислоты, по ключевикам тоже проскакивает всякое.UPD. Добавлен более каноничный для ASCII-арта шрифт "Fixedsys". Выбрать можно в форме. Подумываю прикрутить вебфонты или какой-то источник чтобы можно было самому выбрать моношрифт по душе.
Пытаюсь установить fann2 на винде(через pip). Выдает ошибку: " UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 1540: character maps to <undefined>"Как это можно исправить?
>>848564https://github.com/FutureLinkCorporation/fann2/issues/11#issuecomment-105330040Наверное, есть смысл взять готовый .whl.http://www.lfd.uci.edu/%7Egohlke/pythonlibs/#fann2
>>848568Спасибо
UPD:https://asciiwp.herokuapp.com/https://github.com/thisfieldmustbefilled/ascii-wpМожно выбирать положение арта на обоине.Разобрался с пиллоу, размер текста определяется верно.Свернул генератор в одну функцию.>>848574Рад что сработало на этот раз. Но на винде питонить не лучшее решение, ящитаю.
Предлагаю перекатиться с мейловской параши на чан с духом молодости и хардкора.
>>848665А смысл какой? Кинул в закладки, если вдруг поддержат.
Лучше сюда. Програмач пока дохленький, но сам 8ч популярная и топовая борда с пользовательскими досками (онли), зеркалом в торе, и вообще приятная.
>>848677>>848665А тут что тебе мешает сидеть? Параноики мамкины
http://python-3.ru/page/layout-management-in-pyqt5Питоняши, почему не пашет код из раздела "блочный макет" ?http://python-3.ru/page/layout-management-in-pyqt5Кнопки создаются одна под другой (сначала думал что создается просто 1 кнопка, но потом поменял размер и одна из под другой вылезла), да и выравнивание идет не по тому углу
>>848691Пикути в глаза не видел никогда, но статья написана в марте 2015. Может быть этот код уже не подходит.
>>848691Разобрался
Аноны, помогите понять, когда лучше использовать пропертис, а когда методы ввиде сеттеров и геттеров? Есть ли какие-то рекомендации?
Итак, ребята. Есть задача: выкачать кусок сайта с кэша гугла со всеми подпапками и файлами. По началу работало, а затем только выкидывает ошибку 503 server temporary unavailable. И в браузере при переходе капчу просит ввести. Я не понравился гуглу? Нужно time.sleep выставить, видимо. Так вот, собственно, вопрос: сколько держится бан гугла и сколько выставлять delay, чтобы от него по голове не попадало? Ну или утилиту/скрипт подкиньте рабочий, тогда совсем будет ок. И сколько сайт хранится в кэше?
>>848874Сайт гитхаб если что, там была годная ветка со всякими ништяками, а сегодня захожу, а там пусто, 6 часов назад чувак, которому она принадлежит всё почистил. Печально ведь.
http://pastebin.com/c0KntdmWПривет, это говно из моей жопы. Одно из приложений моего сайта. Посмотрите на этот быдлокод. Если я приложу такой код к своему портфолио, он подарит мне вечный иммунитет к работе?Зацените манипуляции с json при создании коммента. Это супер-костыль когда впадлу юзать поля postgresql
>>848883Не прибедняйся, это некрасиво..
>>848884не, это рили костыльное говно. Мне просто интересно, насколько оно костыльное, и ест ли вообще смысл выкладывать это куда-то кроме двощей.
как, имея значение, найти его ключ в словаре?
>>848896govno = 'huyhuyhuy'pizda ={'huy1': ['huy', 'huyhuy'], 'huy2': ['huyhuy', 'huy', 'huyhuyhuy']}for x in pizda: if govno in pizda.get(x): print('Sucess')print('Poshel nahuy')
>>848875Бля, пока допёр, что через гугл щитс можно табличку сделать со всеми ссылками, на гугл щитс не ругается. А потом wgetом выкачать мб.
>>848916Блядь, всё, только дописал, всё работает, думаю да бля, в чём ошибка то, решаю проверить руками, а всё уже и из кэша удалено. Пиздец. Как нарочно блядь.
решил заглянуть в питонотред> govno = 'huyhuyhuy'> pizda ={'huy1': ['huy', 'huyhuy'], 'huy2': ['huyhuy', 'huy', 'huyhuyhuy']}я спокоен
>>848677Не знаю, как у остальных, а у меня нет возможности всё время сидеть на борде из-под тора.
Вкатился.Собираюсь подаваться на python junior dev, либо на django dev.Для этого учу питон (ныне админю линухы).Мне ООП надо? В вузе 3 года назад писал лабы на c# и что есть ООП представляю.Функционально познать питон будет достаточно, или нахуй иду, когда дело дойдет до джанги?
Сап котаны решил я вкатится в программирование, скачал python но к сожалению я такой аутист что даже не знаю как начать работу, как его запустить вообще?
>>849109Читай Лутца. У него в "Изучаем..." три главы по сути этому посвящены. Даже совсем-совсем аутист поймёт.
Что-то с кодировкой? Как починить?
Что можете сказать о Introduction to Computation and Programming Using Python?мимо начинающий начать
>>849139Посмотри, что возвращается же в ответе от сервера. Похоже, что не json.
>>849139Что ты пилишь?
UPD.https://github.com/thisfieldmustbefilled/ascii-wphttps://asciiwp.herokuapp.com/Пофиксил размещение и размер текста. Теперь /custom может сгодиться еще и для генерации неиндексируемых пиков с номером телефона, e-mail и другой приваси даты.Поясните, можно ли как-то избавиться от повтора строк до цикла и в нем:https://github.com/thisfieldmustbefilled/ascii-wp/blob/master/generator.py#L15Бр-тян пикрелейтед :)
>>849205А что ещё он может вернуть если я прямо в коде пишу json? 404?>>849208Список всех вбэмок на дваче. Потом можно скачать с помощью wget или смотреть онлайн с помощью mpv.
>>849264Кстати перед запуском для всех досок тестил это на муваче. Все jsonы просмотрел и никаких ошибок не вывело.
>>849264> А что ещё он может вернуть если я прямо в коде пишу json? 404?> Кстати перед запуском для всех досок тестил это на муваче. Все jsonы просмотрел и никаких ошибок не вывело.Еще раз повторю. Лови исключение и смотри, что находится в content'е и status_code'е.
>>849304Весь контент выводить неудобно, а с исключениями работать я пока не умею. Кстати и правда похоже на 404. Спасибо.
Питонач подскажи где научится прогить на пайтоне если ты конченый аутист
>>849728сначала научится прогать на паскале
>>849307У тебя там походу какая-то хуйня с формированием ссылки на тред. Попробуй повыводить ссылки на которые запросы посылаешь
>>849729А ты хорош. Сначала освой ЯП с супер-строгой типизацией и тысячей защит от стрельбы по ногам, чтобы потом ломануться в объектный в паскале нет объектов, в отличие от FPC(который в Lazarus'е) и Delphi/Object Pascal скриптовый язык, активно срущий на всё, настолько гибкий, что из рук выскальзывает.
>>849761Я просто подумал что конченые аутисты не знают что такое переменная вот и предложил начать сначала.
>>849762Ты неверно используешь слово "аутист".В твоем случае имеет место просто некомпетентность или глупость.
>>849762После того, как человек освоит Pascal с его наследниками он понимает, что это годный язык, на котором можно сделать что угодно, но на практике выяснится, что на таком языке всё пишется хорошо, но не слишком быстро. Скорее даже утомительно медленно, что быстро выбьет энтузиазм (впрочем, аутистм как раз похуй, из них получаются самые крутые гении кодинга на чём угодно).А у того же Лутца, да и вообще в любом учебнике, не рассчитанном на профи, суть переменных, циклов, условий и прочего будет объяснена достаточно подробно.
как сделать что бы в массив добавлялось слово(тобишь в connect2 вводилось слово и добавлялось в words)?Извините,пару часов изучаю
>>847564Я пользуюсь. Очевидно, что ты вышел в код дебагера. Там же даже название твоего файла в stream есть.
>>850191def append_to_list(list_name): q = input('Добавить?') if q == 'yes': word = input('слово') list_name.append(word) print('Теперь в списке {} слов'.format(len(list_name))) return list_namel=['1', '2']print(append_to_list(l))
>>850191http://pastebin.com/g84vaMJiЗапустить можно тут https://repl.it/languages/python3
>>850191str(len(words)) == '4' не имеет смысла. len выдает тип int, так что:len(words) == 4
>>850221>>850223>>850224Спасибо няши<3 Пойду сейчас разбираться дословно <3Люблю вас
>>849729>>849761>>849762>>849784>>850005Хуле мне делать то питоняши
>>850226Лутц - Изучаем ПистонЛутц - Программируем на Пистоне т.1Лутц - Программируем на Пистоне т.2Если ничего не знаешь - пойдёт и неплохо.Если, например, знаешь кресты, но хочешь вкатиться - хватит и чего-нибудь типа этого самоучителя и потом других примеров с этого сайта:https://pythonworld.ru/samouchitel-python
>>850215Про код дебагера понятно, но какого хуя туда перекидывает когда я делаю step out? эта функция вообще работает?
Питоняхи что с моим питоном? Иногда он не воспринимает горячие клавиши, я жму ctrl N а он нихуя, я жму F5 он хуи пинает, даже ctrl v/ctrl c неробит
Анон, посоветуй что-нибудь по Django с нуля. Пробовал Django by example, но вот уже 60 страниц охуеваю с "отрываем и views.py и пишет вот это" без всяких объяснений какой параметр за что отвечает. Есть что-то более адекватное?
>>850544Адриан Головатый
>>850544документация + гугл. В документации вообще есть ВСЕ.
Есть txt файл вида##############ГОС ОЧКИ----------------RUS 216BYR 125BYR 110UKR 85RUS 25NLD 0UKR 0##############Программа должна выполняться построчно:Берет данные из строки ГОС(например RUS) и проходится по списку. Если rus>100 и при этом встречается rus<100, то слово RUS выплевывается в консоль. Вторая строка - оба BYR>100, в консоль ничего не идет. Третья строка - UKR<100, сразу скипается. То есть, если элемент из столбца ГОС >100 и при этом встречается <100, то данные идут в консоль. Как это сделать? Прочитать файл построчно, создать двумерный массив? Я не понимаю. Помоги, анон. Надеюсь, понятно объяснил. В пайтоне новичок.
Ребята подскажите, можно ли как-то разграничить такую запись, точнее можно ли как-то явно указать питону, что я использую не переменную, а системную функцию (вторая строка)?http://pastebin.com/KeJYcFfd
>>850548Спасибо, посмотрю Год издания 2010 - она там, часом, не устарела еще?
>>850599Придумай другое имя для переменной 'time' - ты ведь уже импортировал модуль с таким именем. Не стоит так делать.или:from time import strftimetime = strftime("%Y %m %d")Но лучше придумай другое имя для переменной.
>>850593Аллах, Будда, Двач, помоги же мне!
>>850647Осваиваешь гос. контракты?
>>850665Ни в коем случае. Отучился в радиотехническом вузике, но работаю обычым планктоном. Думаю взяться за решение задачки, а заодно подкачаться в пайтоне. Понимаю, что данные можно забить в мускл, и оттуда уже выдернуть селектом, но хочется без мускл.
>>850629Спасибо
>>850679Ты хоть какой-нибудь код напиши, а то выглядит, будто ты хочешь не научиться, а чтобы за тебя все сделали.
>>850599import time as x попробуй
>>850720Идеальный вариант. Спасибо
Стоит ли изучать питон, если достаточно хорошо знаю джаву? Правда ли, что скорость разработки небольших проектов на питоне в разы выше?
>>847086 (OP)>>847091 (OP)Что за ересь с двумя пистон-трендами, периодически вылетающими на нулевую вместе? В прошлом перекат-ссылка на этот.
>>850626нет, все основы на месте.
Анон, а на каком проекте (уровня джуна) можно оценить свои знания? В смысле какой проект написать?
>>848820Всё просто, сеттеры/геттеры никогда.
Питонач, сильно ли будете меня бить за asyncio.sleep(n)?1. Мне надо запустить корутину `coro` через определенное время `n`:На ум приходит `loop.call_later` но он запускает обычный коллбэк. Можно извратится и сделать`loop.call_later(n, loop.create_task, coro())`но тут возникает п.22. Должна быть возможность остановить корутину.`.call_later` возвращает Handle, но Handle.cancel() убивает только запланированный запуск, уже запущенная корутина неуязвима.Ничего лучше не придумал, чем запускать корутину через loop.create_task(coro()) и спать в ней, сколько надо. Мне кажется, что await asyncio.sleep(n) не должен ничего нагружать, но надо замерить использование памяти при одновременном запуске множества таких корутин.Какие мысли, анон?
>>850847Не очень понял зачем тебе слип до запуска корутины, но в таком случае делать слип в ней — нормальное решение, ничего не нагружается, не ссы.
Посоветуйте хостинг для uWSGI + nginx.
>>851023Любой VDS/VPS/dedicated где железо не в роиссе. В остальном смотри на цены и плюшки (тип виртуализации, нужность-ненужность панели управления и т.п., версию ОС - вдруг ты угорел по ubuntu 16.04, а там только 12.15...)А так особой разницы нет.
Анон, сегодня свой первый проект на гитхаб запилил.https://github.com/pyanchesko/wallpapers_update Понравились фотки в паблике одном, захотелось их на обои ставить. Каждый день новую. Написал скрипт который скачивает оттуда фотку, и ставит ее на рабочий стол. Думаю ее кроном запускать.Ubuntu
>>851178>сортировка пузырьком>эта реализация сортировки пузырьком
>>851212а как надо было?
Можно ли в bottle запилить ftp-like вывод содержимого директории или всё придётся делать руками?
>>851216Я не этот >>851212 анон, но отвечуМожно было сделать как-то так http://pastebin.com/0tcRXpF7
>>851237Спасибо Анон, а то рили чуханский код был
>>847091 (OP)Поясните за Джанго. Это вроде как крутой фреймверк, с кучей готовых фич. Можно ли в нем писать как в похапе (т.е. банальные динамические страницы)? Или там все совсем по другому? И какую версию питона он поддерживает? Хочу курсач пилить, но как бы не обосали.
Антоши, у меня к вам такой вопрос: дело в том, что я гуманитарий. Нет-нет, я не хочу вкатиться в погроммирование с нуля и зарабатывать миллионы, подождите. Учусь на ФИНАНСИСТА. Недавно был на одной лекции, на которой чувак затирал про матметоды и погроммирование в экономике, рекомендовал питон. Хотелось бы узнать, есть ли здесь какие-нибудь аналитики и дата сайентисты из экономической/финансовой сферы? Будет ли знание питона хорошим плюсом для развития карьеры или для данной отрасли знание языков программирования не стоит так остро? Хотелось бы иметь конкурентные преимущества перед толпой таких же будущих объебосов-выпускников, как и я, но хочу знать, в ту ли степь я решил направиться. Не бейте, лучше обоссыте, если что.Случайно запостил в старый тред.
>>851332тебе сюда https://2ch.hk/pr/res/817451.html
>>847091 (OP)Запостил по ошибке в старый тред, поэтому репостну сюдаПривет, ночной питонач. На связи ультраньюфаг.Решил освоить хотя бы азы кодинга, начал с питона. Я и раньше пытался его учить, но надолго не хватало. А тут вот взялся основательно. Нашел видеоуроки от майкрософт для полных чайников, но на свою беду, я пытаюсь понять фундаментальные вещи, причем сразу. Не терпится чет.А там многое оставляют без объяснения, тип делайте не задавая вопросов.Так вот.Вот вроде бы функция - ты ей параметры, она тебе возвращает результат.Но что мать его происходит, когда внутри функции еще одна функция, да еще блджад с какими-то точками, как в случае с:a = "Абырвалг"print ( a.upper() )То есть тут функция и print() и upper() тоже? А точка? Как зачем и почему эта точка?
>>851384(Кодекадеми - укус питона - синк пайтон) + лутц
>>851385Только что качнул "укус питона", и тут тоже с самого начала предмет моего вопроса без пояснений. (7.4.6)Блин, мб стоит расслабить булки и получать удовольствие? Может я слишком спешу заглянуть вперед?
>>851389Пока не вдуплишь основы на кодекадеми укус будет непонятен, пока не прорешаешь все с синк пайтон - не будешь знать куда конкретно питон этот пихать.А лутц чисто почитывай фоном где что конкретное непонятно.
>>851390>кодекадемиАа, так в скобочках было не перечисление вариантов, лол.А есть альтернатива кодекадеми? Я прост хоть и учу английский, но пока не настолько уверенно им владею, чтобы чему-то учиться на нем.
>>851392НетуПривыкай
>>851392Вот попробуйhttps://stepik.org/course/Python-67
>>847091 (OP)Анон, что лучше использовать: конструктор класса def __init__() или @staticmethod?
>>850593Счёт строчек делай через цикл. Данные разбей через ".split" (variable.split(SYMBOL)). Потом значение переведи в тип int (int(digit_string)).
>>851432зависит от того, что тебе нужно, кек.
>>851432блять. для чего!?
>>851470>>851473Для pygame. Надо проигрывать анимацию.
>>851477ебаныврот! пойду отсюда.
>>851400Спасибо.
>>851479Не уходи. Я тебя блинами угощу.
Народ только только начал учить с нуля.Подскажите тему двойшнику))
>>851544что подсказать-то?
Салют. Я недавно в пайтоне, подскажите, пожалуйста:Я использую множества, из которых постепенно убираю по определённым правилам неподходящие мне варианты, примерно так:X={'a', 'b', 'c'}X.discard('a')X.discard('c')Потом, когда остаётся единственно верный вариант, мне нужно его получить. Сейчас это выглядит так:if len(X) == 1: for i in X: res = iНо мне кажется, что это ну просто пиздец, какой костыль. Можно это сделать как-то приличнее?
>>851575res = next(iter(X))или:res = list(X)[0]или (если этот сет тебе больше не нужен, потому что pop() удалит элемент из сета):res = X.pop()
>>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))Какое-то непонятное пока колдунство.
>>851608>>\t\tРаньше, вроде, на пробелы заменяло…
>>851608pop() - нужно со скобками писать.
https://acmp.ru/index.asp?main=task&id_task=6http://pastebin.com/masB9evtмоё решение не проходит на седьмом тесте.мб кто-то подскажет, где ошибка?
>>851614Проверь скобки в 4 строке.
>>851616действительно. раскрыл скобки, дошёл до 11 теста, там рантайм еррор вылетелоспасибо
>>851621всё, решил через трай .. ексепт
система рейтинга для моего пет-проекта:в модельки книги есть поле текущего рейтинга и количества голосоввощем, решил в модели прям забабахать методу для обновления что-то типа такого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 же должен сработать?
>>851614Напоминает Чарли.
Привет. У меня нубский вопрос.Нужно запилить примитивный бэк на питоне, пара http запросов и работа с бд.Как это сделать проще всего?
>>851668http://bottlepy.org/docs/dev/index.htmlhttps://dataset.readthedocs.io/en/latest/ или https://docs.python.org/3/library/sqlite3.html
>>851627Вроде должен. Насколько помню, save сам определяет - обонвить ему данные или записать новые
>>851671Спасибо.
Почему в питоне так сложно обратиться к системной команде и получить результат?Просто сравниваю с рубишкой где `command` или system "command" и результат получаешь сразу, а в питоне код возврата.Как-то бесячивно это.
>>851674https://docs.python.org/3/library/subprocess.html#subprocess.check_output
Посоветуйте книгу для изучения бидона для шарпо/плюсобоярина, чтоб после прочтения кроме синтаксиса понимал как кишки интерпретатора работают.Цель - применение библиотек уровня sci-kit и nltk без боли в анусе от каждой ошибки.
Нужно на питоне написать программу, которая создаёт рандомно папки и файлы в определённой папке.В программу передаются: Количество фалов и папок, которые нужно создать. Глубина вложенности папок.Т.е. файлы и папки должны быть раскиданы по структуре рандомно.Уже тут пару часов бьюсь, не могу придумать как это реализовать.
>>851700https://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)
>>851700присоединяюсь к реквесту.всрал на собеседовании все вопросы по питоньим кишкам
>>851717рекурсию что ли не осилил?
>>851722А при чём тут рекурсия?
>>851700>>851720если бы я интересовался кишками змеи, я бы стал учить си и читать исходники. какую вам книгу по си посоветовать?
>>851723ну я бы рекурсией вложенную структуру создал
>>851725Можешь расписать подробей или скинуть где про это почитать?
>>851724мне для даунов, чтобы с основ си тогда уж.
>>851761дак это в соседний тред
>>851720Пример вопроса с твоего собеседования?
>>851773Вы знаете питон?
Тестовое задание состоит в следующем:Необходимо написать парсер исходного файла с данными: JSON, CSV, XLS (на выбор). По структуре данные представляют собой Группу (Регион), параметр (Страна) и Значение. Группы содержат в себе ряд параметров, у каждого из которых есть свое числовое значение. Эти данные нужно записать в базу данных.Реализовать вывод имеющихся данных в виде столбикового графика. Выбор библиотеки на Ваше усмотрение. Например, HighCharts, AnyChart, AmCharts, либо любая другая библиотека графиков. Над графиком выпадающий список с Группами. При переключении группы в графике выводятся соответствующие данные, т.е. Параметры и их Значения (по осям графика), присущие выбранной Группе.По результатам выполнения этого задания определятся ваша скорость и качество кода, которые повлияют на возможность дальнейшей работы.Дали тестовое задание сегодня
>>851778КрутякИз бд надо читать данные и выводить на график? Какой-то питоно фреймворк будешь использовать?
>>851747типа такого http://pastebin.com/80Gz82sB отлаживать было влом, так что хз как работает, но пару раз вроде сработало)
>>851786Джанго
>>851611Вот жеж я невнимательный дятел.Спасибо!
>>851778ну ничего сложного, дольше с темплейтом/jquery возиться
Начал учить джанго, оказалось что по самому популярному фреймворку питона почти нет актуальной информации, а все книги писались еще для 2.7 версии питона. Но пох, нашел перевод документации. И что нахуй? Это ебаный пиздец, я понимаю что высокоуровневые языки на то и расчитаны, что бы писать код мышкой нихуя не понимая как это работает, но это уже просто пиздец, просто на тебя вываливается 20 строк кода с коротеньким описанием того что он делает, но без пояснения как. Еще веселят пояснения в духе "эта функция может принимать несколько аргументов". Все. Урок окончен. Пиздец. И это один из самых популярных языков? Мне просто копировать стену кода каждый раз когда я буду создавать сайт?На пакет из ~15 файлов и ~500 строк кода 15 строк пояснений, все джангисты так и прогают, копируя код, понимая только зачем он нужен?
>>851820"Начал учить джанго, оказалось что по самому популярному фреймворку питона почти нет актуальной информации..."дальше не читал. ты в очи долбишься.
>>851820Список твоих проблем:1. не знаешь английский2. не можешь в документацию3. не можешь в stackoverflow4. не можешь в чтение и разбор исходников
>>851820ты не с того начал, начни с изучения самого питона.
Скажите, а можно ли самому сделать полноценный сайт с БД и всем остальным, у которого весь серверный код написан на Пайтоне? Можно ли это реализовать без фреймворков и стоит ли так делать хотя бы для небольших проектов?
>>8518231. Могу, но не таком уровне, что бы читать без напряга хотя бы 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',]?? В уроках, которые идут с документацией, эти строки проигнорированы полностью, мне просто скопировать и идти писать резюме о поиске работы сеньера девелопера?
>>851829Сам питон тоже должен быть написано на питоне? Никаких модулей на си?
>>851830> 2. Лол, я про документацию и расписал> я должен сам понять вот это: MIDDLEWARE = [5 ceкунд в гугле:https://docs.djangoproject.com/en/1.10/topics/http/middleware/> 3. Еще вопросы маил ру посоветуйДа ты же неадекват.
>>851829конечно можно, фреймворки же написаны на питоне. только в итоге ты напишешь свои фреймворки.
>>851840и кстати, это увлекательно и очень познавательно. например, начни писать "легкую" джангу, но не переусердствуй в своем аскетизме! активно используй стандартную библиотеку.
>>851830программирование это тебе не увлечение на недельку и потом 300к в секунду. это серьезная профессия, одна из сложнейших, с большими трудозатратами. года уйдут у тебя до сеньора. поэтому иди сука пидор и читай про каждую сука пидор строчку сука пидор. а когда поймешь какой ты здесь фейл устроил, приходи и задавай адекватные вопросы.
>>851840Ну, для небольшого сайта, который мне сейчас нужен, мне хватит работы с БД на простейшем уровне, а если захочу что-то серьёзное, например, стендэлон-блог, то наверняка воспользуюсь чем-то готовым. Или, чем чёрт не шутит, может и до своего дойду, вон у lleo (Леонид Каганов) таким образом весьма нихуёвый биноникл вырос на пыхе со временем.
>>851858> это серьезная профессия, одна из сложнейших,Забавно, вчера видел как какой-то хуй-петонист на хабре хабре, написал статью о том, что мол можно в мидла за 3 месяца (или что-то в подобном духе).А тут на двачике, люди за сурьезность топят.Сюрреализм, блядж.
>>851862да я читал этого петуха из тайланда? вроде
>>851829можно, конечно, но зачем оно надо?Фишка питона именно в быстрой разработке. Тебе не надо описывать много ненужной мишуры, ты просто взял готовый инструмент и используешь его. В твоем случае, если не хочеться разбираться с django, вникать в mvc и тд. можно взять тот же flask и быстренько наклепать проект на нем.Порог вхождения там почти нулевой, всякие либы для комфортной работы тоже присутствуютpandas-кун
>>851859сайтик-хуяйтик - понятно, но если есть время и желание разобраться в языке\технологиях глубже, то...
>>8518622ch - SERIOUS BOARD
>>851778Если дали задание по данных, то это с вероятностью 99% будет работа с библиотекой pandas. Возможно, если они не упомянули ее в задании, то подойдет ответ на чистом питоне, но если ты сделаешь на панде, тебя точно пригласят на собеседование. Вообще, я собирался немного популяризировать pandas на дваче, так как работаю с ней уже порядка года, так что буду рад помочь ( в рамках треда, конечно)pandas-кун
>>851864ага, тот самый. Неофиты наслушаются петуханов, а потом как то внезапно вырастет очередное поколение индусов, с которыми тебе работать придется.
>>851873думается проблема кроется в культурном слое: 1) легкие деньги! 2) почему легкие?- потому что вон на западе пацаны по 18лет неокончили ВУЗ, написали фейсбуки,... и на порше гоняют! 3) не такой как все (не быдло) - романтика! я хакер епта!
>>851881и это удручает. и так везде между прочим, например, долго искали нормального, не криворукого паркетчика... это пиздец! - 3 раза переделывали.
>>851865>Фишка питона именно в быстрой разработке.Вот это мне и понравилось. Сейчас по-тихоньку переписываю один институтский проект с дельфей на пайтон для тестов, за пару вечеров с кайфом наваял то, над чем сидел пару недель, такими темпами через недельку реализую всё, что там было (пока что кроме гуя) и начну расширять функционал. Конечно, я сейчас старше и опытнее и понимание алгоритмов какое-то есть, но тогда-то я кодил постоянно, а с тех пор уже сколько лет - скрипты от случая к случаю и всё.>если не хочеться разбираться с django, вникать в mvc и тд. можно взять тот же flaskСуть ясна - можно, но смысла мало. Значит, поковыряю фреймворки, когда с десктопным более-менее разберусь.>>851868>есть время и желание разобраться в языке\технологиях глубже, то......можно написать и свой фреймворк, lol. Шучу. Ясно, проще пользоваться фреймворками. Правда, несколькими потами выше один товарищ уже бугуртил с джанго, на что ему сказали:>ты не с того начал, начни с изучения самого питона.То есть, чтобы работать с серьёзными фреймворками, нужно уже иметь некий скилл.Пойду его набирать, всем спасибо!
Вобщем, хочу создать туториал по pandas, от парсинга данных из web api и до telegram bot`a, который выдает графики по запросу. Есть ли здесь люди, которым это будет интересно?pandas-кун
>>851898Словно туториалов по твоему пандас не хватает в интернете.
>>851898>>851901да, в чем фишка твоего туториала?
>>851901Туториалы есть, но в большинстве своем эти туториалы для людей знакомых с data-science, я же хочу показать, как pandas можно использовать в более обычных задачах, где, казалось-бы, можно обойтись и чистым питоном, но на панде это получается решить быстрее и эффективнее в плане производительности приложения
>>851918а будет распараллеливание по процессам\тредам?
>>851921Не думаю, что будут такие штуки, не хочу слишком усложнять и без того не простой туториал.
>>851296Бампик.
>>851898>Есть ли здесь люди, которым это будет интересно?Мне интересно.
>>851930не, пиши конечно, дело то хорошее. только предметности какой нибудь бы, например: "распределенная система обработки данных на архитетуре SOA\Microservice". кстати, могу посодействовать в архитектуре, давно мысль запилить микросервис архитектуру..
>>851931да
>>851898Очень интересноСам чуть игрался ими в рамках быстро дропнутого курса ШАД на и курсере, понял что это как уютный эксельчик, но на том и все
>>851898очень интересно
>>851671> https://dataset.readthedocs.io/en/latest/ А вот это заебок!
>>851801Даже не знаю как сказать спасибо! Не знаю, веришь ли ты в карму, но, в общем, я новенький в программировании, над этой штукой бился сегодня полдня, толком ничего не получалось, не то всё выходило, спасибо тебе огромное!
>>851898Пишимимо оп
>>851747> Можешь расписать подробей или скинуть где про это почитать? Хоть бы Кнута по алгоритмам осилил, прежде чем такие вопросы задавать.
>>851898Туториалы не нужны, тем более pandas сама рисует графики. Хз какому дебилу это будет интересно.
Хотя лол, если здесь есть такие дебилы, я не буду удивлен.
>>851773спрашивали про внутреннее устройство словарей, списков, что будет если два раза импортнуть один и тот же модуль, что-то еще было, вспомню напишу. Про работу with спрашивали еще.
>>851983пожалуйста)
for i in range(len(minimax)): print(i) if math.isnan(minimax): pass else: if minimax < 0: minimax.pop(i)Зорким змеям будет видно, что проблема в том, что список постоянно теряет в длине и выдает ошибку out of range. Есть ли способ починить не прибегая к использованию второго списка?
>>852129minimax это что?
>>852157очевидный список со значениями. Мне нужно убрать из него все отрицательные.
>>852160filter же
>>852172да я уже сделал.Теперь надо понять как найти минимаксные критерии функции, ебаной.
>>852073Мне больше понравилась конструкция "if...elif". Данный код, правда, сокращается до двух строк:>a = input()>print(a.isdigit())Булева переменная тут не нужна, нечего плодить сущности, ясно, что дело не в принте, поэтому лучше так:>a = input()>if a.isdigit:> statement1()>else:> statement2()
Ребята, дорогие, а напомните пожалуйста что делать со статик файлами что бы они работали в режиме дебага?проект- проект- приложение- 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Буду крайне признателен
>>852221Ну же, судари, я уверен с этой хренью так или иначе все сталкивались, я и сам пару раз делал но рытьё в старых проектах нифига мне не дало почему-то, что-то проёбываю или в джанго 1.10 что-то поменяли
>>852237У тебя вся статика лежит в отдельной папке, а не в приложениях, как я понял.Попробуй в настройки добавить>STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)
>>852221Лол, ты статику через python отдаёшь? Это прошлый век.
>>852245Расскажи как в этом веке надо делать?
>>852246nginx или еще что-нибудь, что будет быстрее (пересобранный nginx, где выкинута куча ненужного говна).
>>852247>nginxА, ну это ясно. Я думал, ты сейчас про что-нибудь новое расскажешь.В продакшене, само собой, он будет nginx использовать. Тут же речь идет о том, чтобы только во время разработки обрабатывать статику встроенным сервером.
>>852243прописал, не помогает.
>>852254Строка 'django.contrib.staticfiles' есть в INSTALLED_APPS?
>>852258да
>>852253> обрабатывать статику встроенным серверомНахуя? Сделать реверс-прокси и готово. Впрочем, твоё дело.Как в джанге это делать не ебу, сам не пользовался её сервером для такой цели.
>>852266спасибо что хоть без бовера, гульпа и прочей ебалы. тоже не "прошлый век."
>>852260Хмм.. Ну я тогда не знаю. Перезапуcти сервер. А потом обнови страницу CTRL+F5Проверь всё, может опечатка где-то есть.>if settings.DEBUG:Эта строка не нужна>STATIC_ROOT = os.path.join(BASE_DIR, 'static/')Слеш убери. Он вроде никак не влияет, но и не нуженSTATIC_ROOT - это вообще должна быть пустая папка, в которую ты соберешь всю статику со всех приложений для того, чтобы обрабатывать ее потом сервером типа nginx'а, когда деплоить проект будешь. Переименуй, например, в 'collected_static' или или еще как-то.
>>852271не помогло. буду дальше развлекаться.когда они блядь это починят, уже год я из раза в раз ебусь с этой придурошной хуйнёй. и да, она простая, всё ж не memory leak'и ловить, но какого блядь хуя.
>>852275> когда они блядь это починятВ багтрекер написал?
>>852275Тоже временами ебусь то с этим, то с подключением собственных приложений - легко упустить какую-нибудь деталь.В принципе, могу щас тоже взглянуть на твой проект, если выложишь куда-нибудь свой код.
аноний, нужно аутентификацию через соц сети, какой пакадж выбрать, а то их что то дохуя: https://djangopackages.org/grids/g/authentication/
СУКА Я ОПЯТЬ НЕ ПОНЯЛ ЧТО Я СДЕЛАЛ, НО СТАТИКА ЗАГРУЗИЛАСЬда ёбаный нахуй, магия блядь, шайтан арба!
>>852289короче, на тестовом сервере collectstatic делать категорически нельзя.
>>852288Python social auth и django-allauth - вроде бы самые популярные
>>852292вроде да, но какой выбрать?)
>>852294Бери django-allauth
>>851858Самый толковый ответ, спасибо.Вчерашний пожар закончился, буду на выходных курить мануалы, а пока кто мне объяснит, зачем все таки нужен stackoverflow? Уж явно не для того, что бы скролить в надежде найти ответ на интересующий вопрос
А смотри, двачик, у меня есть в джанго апп 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 }} я получаю ебаное ничегоВ чём я обосрался?
>>852369как это хоть загуглить-то?
>>852369BlogDetails - это что ттакое? Если модель, то должна наследовать моделс.Модел. Или у тебя пейдж - это абстрактная модель? Или же тебе нужно наследование типа Блог - страницы? Тогда это делается через ForeignKey. У тебя какая-то непонятная хуйня, крч.
>>852369>settings = BlogDetails.objects.first()Оно ведь QuerySet возвращает, не?Попробуй в шаблоне:{% for s in settings %}{{ s.page_name }}{% endfor %}
>>851614> acmp.ruИнтересный сайт.Смотреть решения других участников можно?
>>852395Абстрактная модель, да. Чего-то не завелось. Поскольку время поджимает - забил хуй и вставил код прямо в модели. Да, дублирование и вообще тупо. Потом переделаю.>>852414Попробовал, чего-то не цепляет вообще. Но спасибо.
а как url'ку делать на другое приложение?вот тулю я в шаблон {% url "blog" %}мне и нужен "^blog/$" в принципечё оно от меня ещё хочет? дописывал как во view оно называется, и url blog:post_list и 'blog' 'post_list' и ещё пара вариаций - или темплейт эррор или no_reverse_match
>>852534url 'blog.views.post_list' тоже писалразумеется в INSTALLED_APPS всё есть и в urls.py проекта пусть к приложению занесёнтипа аргумент какой-то нужен, но какой блядь аргумент когда с другой стороны функция без аргументов? не понимать
>>852540name указан в урл паттерне? Типа так:>(r'^blog/', blog_view, name='blog'),и в шаблоне потом>{% url 'blog' %}
>>852542Вот я баран блядьТам другое было написано.Спасибо тебе большое.
>>852129Перебирать список с конца?
проверьте решение первой задачи говнокод http://pastebin.com/uee5YmH0 - моё решениеhttps://olymp.hse.ru/data/2016/10/05/1122855045/Демо%20отбора%202016-2017.pdf - задания
>>852582Перепиши с нормальными названиями переменных, аутист ебучий.
Снова выручайте, ребята.есть категории, есть продуктыкак в шаблон вывести их все, типа >категория1:>-продукт1>-продукт4>категория2:>-продукт2>-продукт3в шаблоне вообще как-то фильтровать можно вообще?
>>852637Вопрос по django, конечно же
>>852640А все, разобрался> {% for category in categories> ..{% for product in category.products_set.all> .....
Вот есть апп deal с шаблоном hotdeal.htmlкак его впердолить в base.cssя так понимаю {% include "deal/hotdeal.html %} не обрабатывает запросы, а тупо выгребает хтмлТогда что делать?
>>852652в base.html конечно же
http://rosettacode.org/wiki/Brace_expansionhttp://rosettacode.org/wiki/Brace_expansion#PythonЕсть ли обратный алгоритм, который бы пусть не самым оптимальным образом, но оптимизировал бы плоские листы в подобные древовидные структуры?Интересует свёртка регулярных выражений такого типа:пидор|исидор(п|ис)идор
Привет, анон. Только начал учить питон (неделю), ибо язык вроде топовый. Сейчас читаю Byte of Python. Потом буду поглощать Луцмана и Саммерфилда. В день уделяю этому один-два часа. Есть ли какие-то шансы выучить его на уровне составления каких-то более менее программ среднего уровня до конца года? И еще в этом году диплом. Решил в дипломном проекте составить программу на питоне для юр.фирмы(знакомые). Можете подсказать какие-нибудь идеи программы, чтобы она могла как-то использоваться на данном предприятии? Заранее спасибо.
>>852702Да, может успеешь.Дочитав Синк Пайтон ты сможешь написать почти что угодно на питоне.CRMку им напиши. Или поисковик по документам на elastic search/solar с беком на боттле или еще чем постом.
>>852704Cпасибо большое. Но не подскажешь что за СинкПайтон?
>>852709Think PythonЕсть где-то на русском
>>852652>{% include "deal/hotdeal.html %} не обрабатывает запросыЧто ты имеешь в виду?Можно наследовать шаблон hotdeal.html от шаблона base.html:{% extends 'base.html' %}Или что ты хочешь сделать?
>>852741Я хотел как в php с инклудами - инкуднул и оно прогнало шаблон по его вьюшке, выгребло данные из бд, вставило.Питон так не делает, он инклуднуть может конечно но не парясь, безо всяких данных, только то что в самом шаблоне есть ото и егоВ итоге я просто во все нужные страницы теперь вставляю блок и во вьюхи соответствующее. Окей.
>>852743Думаю, я тебя понял. Наверное тебе нужны inclusion tags https://docs.djangoproject.com/en/1.10/howto/custom-template-tags/#inclusion-tagsСоздаешь свой шаблонный тег, который состоит из функции (которая может дергать данные из бд, например) и шаблона, в который рендерится результат работы функции. Потом в любой шаблон можешь включать этот тег.
>>852665https://en.wikipedia.org/wiki/Lemmatisationnltk
>>852756Ого!Спасибо большое
>>852770А если тебе нужно отображать эту информацию на всех страницах, то может быть будет лучше свой context processor написать. https://docs.djangoproject.com/en/1.10/ref/templates/api/#writing-your-own-context-processorsПишешь функцию, которая возвращает словарь, добавлешь ее в список context_processors в настройках и у тебя во всех шаблонах будет доступна переменная - результат работы твоей функции.
>>852805Спасибо тебе большое
Товарищи, а подскажите мне пожалуйста вот ещё что:В джанго нужно создать страничку с файлами, и авторизацию к этой страничке исключительно для одного пользователя. В идеале даже что бы по прямой ссылке на файл никто кроме этого пользователя скачать не мог.Куда рыть в таком случае?
>>852837Если используешь nginx, глянь https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/
>>852850Спасибо, нашёл https://github.com/johnsensible/django-sendfile - я так понял это и есть обёртка для нгинкса. Но не уверен.
>>852854Бегло взглянул - кроме энжиникса поддерживает и другие сервера, но для nginx-a использует как раз тот самый x-accelТак что тебе должно подойти
>>852897мне просто интересно хули там дискассить
>>851700Удваиваю вопрос.
>>852702>Есть ли какие-то шансы выучить его на уровне составления каких-то более менее программ среднего уровня до конца года? На самом деле зависит от того, что ты уже умеешь. Если изучаешь с нуля, то навряд ли. Нужно, чтобы мозг понял, как вообще кодить, нужна практика и шишки, а это за пару месяцев не получишь.
>>852897Унылые ребята.
>>852954>>852956FIGHT!
>>852967Ну, может балабольство про технологии без их понимания и плоские двачерские шутки действительно для кого-то классно.
>>852759Совершенно не то, увы. Что лемматизация сделает с инпутом вроде этого самого "пидор исидор"? Правильно, ничего.Я нагуглил вчера frak, он под кложуру. Вот мне примерно такое требуется, но необязательно, чтобы форматировало в регексп.
>>851700Think Python
>>852665https://docs.python.org/3/library/os.path.html#os.path.commonprefix
>>852995Всё не то. См. пикчу.
я правда гуглилМне нужна функция, в которую можно было бы задать букву, а она при запуске имитировала нажатие этой буквы на клавиатуре.
>>853206Гугли как эмулировать нажатие клавиши, функцию потом легко сделаешь
>>853207Да, я так и хотел. Не знал только что именно гуглу скармливать.
Судари, а подскажитеМодель джанго, поле >colors = models.CharField(choices=colors_list)хочу в choices добавить htmlну типа>colors_list = (('red': '#f44336'),('blue': '#2196f3'))есть какой-то вариант в джанго-админку запихивать это всё например с style="background-color:#xxxxxx" в подложке каждого пункта списка? Как это делать вообще?
>>853220Вот это попробуй http://stackoverflow.com/a/21297539/5201699Если не получится, то вот вариант посложнее, потому что тебе, видимо, придется шаблоны админки переопределятьhttp://stackoverflow.com/a/2836295/5201699
>>853224Спасибо большое.
Django, вопрос по моделям.Есть список категорий с подкатегориями. Дальше идут принадлежащие им item'ы. Всё как обычно, всё работает, заебись.Теперь выясняется что item'ы отдельных категорий должны иметь разные списки характеристик, частично пересекающиеся.Важно: конечное количество категорий и все конечные характеристики для итемов известны.Вопрос как это грамотно организовать. Конечные значения известны, поэтому какой-то фабрики не требуется.Достаточно ли просто сделать абстрактный класс для item, имеющий все пересекающиеся поля, и от не наследоваться остальным? Или это пиздец, потому что по сути придется написать десяток-два моделей вручную, у каждой из которых еще связь с общей таблицей категорий?
"Сениор" рассказывает про "настройку тэстовой инфраструктуры" (докир).Сам он, по его словам, с докиром дел никогда не имел, но считает что "вообще наверное это нужно".
>>853269я базовым классом модели сделал, потому что не известно количество и содержание моделей, но некоторые пересекающиеся поля есть, к тому же для каждой модели еще и форму надо... поэтому получается так что при добавлении новой сущности хочешь-не хочешь, а код писать придется.
>>853273Суть подобных мероприятий в одной пикче
Ребятки, снова вопрос есть.Вот я сделал две модельки, >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?
>>853326можно даже без фильтрации, а просто MultiSelect какой-нибудь но на загрузку файлов
Есть ли у кого Effective Python 2015 в любом формате?
Django admin multiply files upload в гугле даёт одну хуйнюЧто делать-то блин?
>>852972Благодарю.
>>853273вчера посмотрел, да, пиздец. Как-будто двойные стандарты.
>>853351Тебе нужна возможность загружать новые файлы со страницы со списком файлов, правильно?Гугли как переопределять стандартные (и добавлять новые) вьюхи и темплейты в админке.Наверное, на странице со списком файлов можешь поместить кнопку "Upload files". Кликаешь на нее и перенаправляешься на страницу добавления файлов с формой (может быть это будет новая вьюха, а может и ту, которая у тебя уже есть получится использовать). После загрузки файлов редиректишься обратно.Ну или на страницу со списком файлов запихай форму, но, наверное, тогда тебе стандартную вьюху надо будет переписать, чтобы она еще и загрузку фалов обрабатывала.Вот тебе решение для загрузки нескольких файлов https://docs.djangoproject.com/en/1.10/topics/http/file-uploads/#uploading-multiple-files Сам такого не делал, но мне кажется должно сработать.
>>853359Там суть не в двойных стандартах, а в том что индивид - неразбирающийся колхозник без образования (даже "тест" пишет постоянно через "э") и уже несколько лет как без практики, при этом вешающий лапшу на серьёзных щах.Это отдельный вид петушков, позиционирующих себя как специалистов, при сидящих на какой-то должности в конторке где они такому же говноеду-начальнику смогли навязать свою охуительность и незаменимость. Постоянно наталкиваюсь на таких, если ищешь работу и видишь что-то подобное - беги и не оглядывайся.
>>853375Не, мне прям с админкиЕсть моделька страницы с файлами, она зарегана в админке, вот нужно прямо из неё загружать файлы
>>853388Ну так я тебе про это и говорю ведь, кажется. Или я неправильно понял?Есть у тебя страница в админке со списком файлов, там фильтры какие-то у тебя еще что-то.. Вот туда и зафигач кнопку или форму.
>>853400Это я тебя неправильно понял, извиняюсь.Да, как вариант можно попробовать, спасибо большое.
>>853409https://vorillaz.github.io/devicons/#/cheatКак впихнуть эти чары в питоновый стринг? u'\eXXX' не работает.
>>853429'\ueXXX'ord('\ueXXX')int('eXXX', 16)Выбирай на вкус
>>853445Спасибо!Первый вариант работает. Остальные что-то не то возвращают, там модуль пытается сделать им сплит но не может, рейзится атрибутэррор.
>>853456Первый - это символ, второй и третий возвращают integer значение юникодного символаchr(ord('\ueXXX')) == '\ueXXX'
>>847091 (OP)>>847091 (OP)>>839462 (OP)ИТТ долбаёб, изучайющий питон уже полгода и до сих пор не могущий в настройку правильной версии. У меня убунта стоит, в ней прошит 2.7. Я хочу работать в версии 3.5. Как вы вообще работаете с разными версиями? Или проще снести бубунту и перейти на дистрибутив, у которого изначально расововерная версия питона? Несколько часов сегодня проебал, пытаясь в этом вопросе разобраться Я знаю, что долбоёбПомогите убогому
Парни, какими модулями лучше реализовать параллельное выполнение нескольких экземпляров функции с передачей результатов одной функции-обработчику, чтоб минимальное вхождение особенно для тех, кто раньше с параллелизмом вообще дел не имел?Спасибо
У меня модель книжки, к ней через поля ForeignKey присобачены автор и жанр книги. Как мне во вьюхе для определенной книги вывести атрибуты связанных с ней авторов и жанров? Author.objects.что писать?
>>853503Возможно питон3 у тебя установлен, просто он не дефолтный.Проверь: python3 -VСкриптики свои можешь запускать так: python3 script.pyЕще погугли virtualenv - в сети куча всего про это написано.
>>853503cd ~/projects_python3/yoba3virtualenv -no_site_packages -prompt="python3" -p=/usr/bin/python3.5 venvsource ~/projects_python3/yoba3/venv/bin/activate#you are now python3`eezeddeactivatecd ~/projects_python2/yoba2virtualenv -no_site_packages -prompt="python2" -p=/usr/bin/python2 venvsource ~/projects_python2/yoba2/venv/bin/activate#you are now python2`eezeddeactivateпосле активации одного из виртуальных окружений (source activate), pip ставит, удаляет, обновляет пакеты только в этом окружении и не трогает ни гловальное, ни какое либо еще.
>>853503sudo apt-get install python-pipsudo pip install --upgrade virtualenvvirtualenv это отдельно стоящее окружение для питона и всех библиотек которые хочешьpip - это установщик библиотек для питонанаходишь место где будешь складировать "окружения" созданные virtualenv и хуяришь там virtualenv -p /usr/bin/python3 yourenvпотом пишешь в консольке $ source yourenv/bin/activate и вуаля! как надо будет переключить окружение на другое или выйти тупо $ deactivate нахуя это нужно - что бы не захламлять папочку питона самой убунты, и под каждый проект отслеживать чё за пакты наставил, а не всё в куче>>853508Тут рулит наследование, можешь обращаться к ним косвенно допустимclass Book(model.Model):..s_kartinakami = model.BooleanFieldAuthor.object.first().s_karitnkami , ну ты понел короче
>>853507import threading
>>853515это не наследование а просто связь бд
>>853512 Проблема не со скриптами, а с джанго. С виртуальной средой я поебался и что-то нихуя в итоге не вышло. Гайдов понятных так и не нагуглил. Подумываю снести систему, чтобы поставить сразу с дефолным питоном нормальным. Есть также аккаунт на pythonanywhere, но как там сменять дефолнтую версию я тоже нихуя не понял.
>>853503Если ты за полгода на убунте не освоил основы работы с виртуальными окружениями - бросай это дело вообще.Время сэкономишь.
>>853518согласен
>>853520конечно надо все нахуй снести! но сноси внимательно и вдумчиво! минимум 3 раза нужно снести! все нахуй сноси только!
>>853520больше хуярь по книжкам, меньше тыком. по крайней мере пока что.головатый - django by example - test-driven development with python
>>853526а я не согласен! сначала надо головатого снести!
ебаный линепс! не игор нихуя, нихуя нихуя!
>>853520>>853520>С виртуальной средой я поебался и что-то нихуя в итоге не вышло. Гайдов понятных так и не нагуглил. Подумываю снести систему, чтобы поставить сразу с дефолным питоном нормальным. Сука пиздец. Сделал мой вечер.
>>853514
интернет этот еще сука большой заебался искать это вот все
>>853531sudo apt-get install python3.5-venv python3.5-pip python3.5-devcd projpython -m venv venvsource venv/bin/activate
>>853535да ему похуй он все в одну строчку хуярит
двач еще этот ебаный чо не спросишь сразу в щщи ебашат пидарасы
>>853537Да просто вы дичь городите все тут, линуксоиды хреновы. Сами не понимаете какие пакеты соотносятся с какой версией, какие либы есть в репах и как они называются.Я бы и сам запутался.
>>853515Спасибо огромное, анончик! Твоя инструкция помогла. А как ты сам разбирался в этом вопросе? Я просто хотел бы понять методологическую свою ошибку, чтобы в следующий раз не бежать на двачи плакаться Или это нормально и все так по началу делали? Ты гуглил и по официальным мануалам учил или книжки какие? Или также советы спрашивал в своё время?
>>853541>>853539
Короче ставь Arch LinuxТам сразу третий бидон.И вообще как система он лутше убунту.Сейчас все на арче сидят кто в теме.
>>853541Можешь кстати поставить PyCharm и из него создавать свои окружения, инсталить пакеты и не тащить библиотеки в систему в принципе.
>>853529Тащемта дота на линух есть, а чего тебе ещё нужно?
>>853549есть мануал как в виртуальном окружении ее запустить!?
>>847091 (OP)Питоно конфа http://link.limo/programach
>>853553зато питоноконф дохуя! по 20 штук в день создается
>>853542не помню уже.так, на вскидку, рано в джанго суёшься если эту штуку не понимаешь.классическое обучение питону где-то такое:codecademy - a byte of python - think python -- и всё это почитывая параллельно лутца потом джанго по >>853526 вот этой схемеу меня где-то месяца 4 ушло на всё это с нулевого знания программинга и линукса, и я фигачил нифига не по пять часов в сутки
Аноны, чисто ради спортивного интереса, кто на какой ОС сидит? Признавайтесь!
>>853565plan9 жи
>>853565uvuntu 16.04
>>853273Бля, да не слушай таких петухов если он на самом деле это сказал
>>853565ubuntu 16.04 с оформлением от яблока.
>>853503pyenv, ёпту
>>853546Проиграл.
>>853507>>853516Вдогонку, если кто работал с либой multiprocessing и ее Pool, можете подсказать, в асихронном режиме его потоки будут лопатить передаваемый в параметрах список одновременно или ждать завершения друг дружки?>>853565Gentoo на форчане посоветовали, когда я музыку искал в поездку, они на все там пишут install gentooТут местный apt-get написан на питоне, плюс есть eselect, чтоб между версиями переключаться одной кнопкой.
>>853565Арч
>>853579запуск ^потока^ процесса через мультипроцессинг никак не влияет на твой асинхронный код, как напишешь так и будет
>>853579как создавать contex processors? раньше просто было папку создаёшь, туда файлы с импортами из моделей, и в настройках пропискатьсейчас вообще в 1.10 контекс процессоров не вижу
>>853579>>853587вот https://pymotw.com/3/asyncio/executors.html
>>853590settings->TEMPLATES->OPTIONS->context_processors
>>853592и кстати, executor = concurrent.futures.ProcessPoolExecutor( max_workers=3,)max_workers - по умолчанию количество ядер, потому можешь не определять
>>853595спасибо большое.
>>853579> одной кнопкой Сука, перехожу на генту! СЕГОДНЯ ЖЕ
>>853634Да забей, все равно кругом докер с вагрантом.
>>853634Переходи, это лучший дистр сегодня.
>>853634>>853664Семён Семёнович!
>>853666Плохой детектор, чини.
почему, блядь, не работает этот чёртов context_processorproject-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))что за ёбанный нахуй в рот и жопу блядь, у меня уже сука зла нехватает
>>853672попробуй создать ctx = Context(context) поставь точку останова в своей йоба иде и посмотри что в ctx.
>>853676ебать я лох бессонный, я внезапно обнаружил что сам с шаблона потёр этот блок. пиздец. дайте мне медальку дауна.
>>853671Генту-фанбои подтянулись?
>>853676cпасибо, всё равно. а то я и ночь мог ебаться.
А поясните как форму сохранять в модель, а то я уже чего-то совсем торможу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 instancebase.html><form>><textarea id="message"></textarea>>{% csrf_token %}><button type="submit" name="submit">Отправить</button>></form>щито я упускаю?
Pandas кун, ты куда пропал? Где там твой гайд йобанаврот?
>>853742https://vk.com/doc150859067_437242928?hash=e6586f6b948830d188&dl=165970d1c09aa2a598
>>853687Зачем ты переопределяешь save()? Ты ведь не делаешь никаких кастомных валидаций, а только вызываешь clean(), который, по сути, и так вызовется.Что у тебя во view.py?
>>853788Если делать дополнительные проверки, то переопределять clean() тогда уж
>>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>Не сохраняет нихуя. У меня уже и башка не соображает.
>>853835Если это все, что есть, то тебе наверное не хватает вьюхи, которая будет обрабатывать POST запрос? Типа:>def handle_form(request):>if request.method == 'POST':>....form = FeedBackForm(request.POST)>....if form.is_valid():>........form.save()>........return HttpResponseRedirect('/success_url/')
>>853839Получается, ты форму рендеришь на более, чем одной странице, раз ты context_processor сделал? Тогда тебе еще надо атрибут action у формы указывать, чтобы слать данные на урл той вьюхи, которая будет брабатывать форму><form role="form" action="/handle-form-url/" method="post">И в url.py как-то так:>urlpatterns = [>....url(r'^handle-form-url/$', views.handle_form),>]
>>853839Я БЫ ТЕБЯ РАСЦЕЛОВАЛ, ЕЙ-БОГУспасибо дружище, я в долгу
>>853515у меня модель class Book(model.Model)____genre = model.ForeignKey(Genre)____author = model.ForeignKey(Author)есть ещеclass Genre(model.Model)____тут их поляаналогично для Authorя во вьюху отдаю книгу. У Genre и Author есть свои поля, я их тоже хочу показать в темплейте, как мне выдать на темплейт именно связанные объекты с той книгой, которая у меня идет на вьюху мою?
>>853929Ну тебе анон ведь правильно подсказал - через точки>book = Book.objects.select_related().get(pk=1)select_related() нужно для того, чтобы сразу связанные объекты подтянуть - чтобы, когда ты будешь запрашивать автора, лишних запросов к бд не былоИ дальше, например:>author_name = book.author.nameИли в шаблоне>{{ book.author.name }}
Котаны, есть один файл.В этом файле лежат zlib-архивы. Но в файле нет никаких метаданных типа размера/количества файлов/оффсетов и т.п, вообще нихуя нет, кроме архивов. Даже разделителей между ними нет, они тупо идут друг за другом. Но сжатие у всех одинаковое, так что хедер (CMF+FLG) тоже и по нему можно понять где начало нового архива. Количество и размер файлов тоже неизвестен.Так вот, нужно как-то прочитать ВСЕ архивы из файла и распаковать их. И вот на этом-то я и застрял. Прочитать самый первый получается без проблем, а вот как остальные за ним - вообще не ебу.Программач, подскажи чего-нибудь?
>>853963Я думаю следует выложить код, который сработал у тебя для одного архива.
>>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]
Хлопчики, а поясните мне о вагранте, докере и всяких тест-серверах в виртуалке.Что выбрать? Как правильнее это всё организовать?
>>853985https://www.youtube.com/watch?v=RN8PdCB__lQВ начале видео немного о вагрант, но на элементарном уровне и без должного объяснения.
>>853954ебать. Если так, то охуенно. Спасибо
Еее ананасы. Я наконец дописал ИГРУ ЖИЗНЬи она работает (^_^)
>>854016Вот код на хиджабе. http://github.com/izicoder/some_stuff/thelife.py не финальная версия
>>854017Проебался. Вот код. https://github.com/izicoder/some_stuff/blob/master/thelife.py
>>854016 Хочу также. По какому гайду делал?
>>854020ни по какому. Азазаз
>>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)
>>853503>Как вы вообще работаете с разными версиями?Ну я, например, на дебиане не парюсь и просто явно указываю версию (python3 вызывает самую свежую трёшку, python - самую свежую двушку), проверено, что на маках работает так же.
>>853503>Как вы вообще работаете с разными версиями?pyenv
>>854033А смысл держать больше одной версии в каждой ветке?
>>854042Некоторые тяжёлые либы долго и/или сложно собрать из исходников (opencv, например). Поэтому приходится использовать "системную" версию питона из-за бинарных пакетов.
реально ли на python достойно решить олимпиадные задачки всероссийского уровня?
>>853954ЕБАТЬ СПАСИБО, ЩА ЗАТЕСТИЛ, ВСЕ ЗАЕБИСЬ.Блядь, так бы и сидел как даун, если бы не спросил. Пойду читать доку целиком наверное наконец.
>>854061Вряд ли, в производительность всё упрётся.
>>854061Пример задачи.
>>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']Подскажи, о могучий, где я налажал и как это исправить.
>>854104RTFM блджад>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'.
>>854123Хорошо, но как, в таком случае, получить искомый результат без построения адовых велосипедов?
>>854138Вариант без регулярок сгодится?>s.split(' + ')
>>854141Решение вполне действенное в данном случае, но не универсальное. Хотелось бы найти способ с регулярками.
Почаны, через что удобнее всего выводить много данных, чтобы можно было потом посмотреть?Короче, каждый день каждые пять минут записываются данные, и мне нужно будет потом сравнить по дням чтобы дни рядом были и значения за каждый час, минуту.Графики походу сложные будут, идеальнee всего таблицы, но сsv по-моему не для таких целей.
>>854187PANDASANDAS
>>854190А там не сложно? И куда оно будет выводить, в айпутхон штоле или хтмл-файл? Пробовал как-то с bokeh - оказалось дико муторно.
Ладно, хуй с вами, щас напишу свой парсер-графикорисовалку для этй мутни.
Пайтоны, выручайте. Нужно из питоньего кода запускать линуксовый бинарник казалось бы, ок, юзай системные вызовы и обрабатывать высираемый бинарником результат. Проблема в том, что бинарь выводит в STDOUT данные в час по чайной ложке и обработать каждую строку нужно по мере появления, а не в конце, когда весь вывод будет окончательно сформирован. Может вы знаете, как такое сделать?
>>854211p = subprocess.Popen(args,____stdout = subprocess.PIPE,____stderr = subprocess.STDOUT,)while p.poll() is None:____line = p.stdout.readline()? Не могу проверить, пишу с картофелины
Как в Django правильно работать со сторонними модулями?Допустим, я хочу взять откуда-то дату через requests и направить в шаблон через контекст. Где правильно импортировать requests и использовать его? Или по гайдлайнам джанго нужно для этого создавать новое приложение?Вообще, дайте пожалуйста юзкейсы с гитхаба, где джанго используется для построения сервисов, а не просто сайтов и общается не только со своей БД, но еще и со сторонними модулями (генераторы пдфок может, или картинок, или еще что).
>>854537 Джанго бай экзампл вроде много такого было. Подробности не помню, а как делать самому без книги - не знаю, так что просто в качестве наводки.
>>854537где угодно ты можешь встроить свою логику, точек входа просто уйма: views, models, context_processors, middlewares... джанга - не анально огороженная cms, джанга - фреймворк.в твоем случае логику проще всего написать во вью:import requestsdef 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)
>>854563Моих знаний достаточно, чтобы сделать то что ты говоришь. Дело в том, что я хочу не просто писать быдлокод, захламляя проект, а делать как правильно. Вот ищу типовой проект чтобы посмотреть как это делают профи.
>>854567дак все зависит от конкретной бизнес логики приложения. просто пиши где удобно и все - профи, ебана, так и делают.
>>854567и кстати, что непрофессионального в requests.get во вьюхе?
>>854576Дело не в requests.get, а в том что это может быть другая библиотека с кучей кода под нее. Я бы логически вынес это в виде фкнкций в отдельный файл, затем из него во вью импортировал и выполнял функции. Но мне кажется это нарушит структуру django проекта.
>>854582да никак это не нарушит) я видел проект (сложный большой...) где от первоначальной структуры (как в туториале) не осталось нихуя вообще, там запилили свой фреймворк на джанго фреймворке, и нихуя! работает!
>>854587Ну пиздос, работать-то будет это, я понимаю. Но хотелось бы начинать с гуд-практиса сразу.
>>854588тогда нужно начать с постановки задачи.. вот тебе нужна эта дата посредством рекветс... она нужна в каждом вью или только в одном?
>>854594Тащемта мне нужен не requests, я привел его как пример. Мне нужно генерить данные через pypdf, принимая аргументами инпуты из форм.
>>854597прозреваю что у тебя есть какой то 1 вью с формой.тогда просто пили файл типа "eba_pdf_functions.py", клади его рядом с forms.py или куда угодно, импортируй функцию generate_pdf из этого файла в туда, где ты будешь обрабатывать инпуты, все.
Простыми словами о пикрелейтед, пожалуйста.
>>854602ты импортируешь что то из __future__ пайчарм предлагает тебе включить проверку на совместимость этого чего то с твоим кодом. (я обычно жмакая no)
>>854606Странно, ручных импортов я не делал. Видимо, где-то в модулях. Что это вообще? Функционал, который тестируется для выхода в следующих версиях языка или что?
>>854610скорее функционал бекпортированный в текущую ветку интерпретатора. типа захотелось вкусностей из новой ветки вот и портировали
>>8545882 scoops of django и django by example тебе уже советовали
Как реализовать редактирование существующей записи в бд, используя ту же форму, что и при создании этой записи? Мне бы сделать так, чтобы при показе формы редактирования отображались старые данные в полях, которые я смогу изменить. Куда копать?
>>854721Django?В чем проблема? Инициализируй форму значениями существующей записи
>>854721Используешь ModelForm?Вот тут глянь пример https://docs.djangoproject.com/en/1.10/topics/forms/modelforms/#modelform
>>854729Да, спасибо. То что нужно>>854727Тебе тоже.
>>854329Спасибо, то что нужно.Извини, только сейчас смог проверить.
>>854727>>854729Не, я не понял. Как мне проапдейтить старую запись, а не делать новую на основе этой инфы? Все что я пытаюсь сделать создает новую запись.
Как Javascript использовать в джанго? Или чем там делаются всякие свистоперделки?
>>854811Javascript используют на стороне клиента. Соответственно, тебе подойдут любые мануалы по JS.
>>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() Вот как-то так должно работать, проверь
>>854813Селекторы через джейквери берутся-то как? У джанго же свой темплейт.
>>854815Закрой программач и больше никогда не пытайся даже думать о прогграммировании, свинья.
>>854817>свиньяКак ты ужнал что я из Украины?
>>854815Я не очень знаком с фронтенд. Селекторы выбирают объекты из DOM по параметрам?Если это то, о чем я думаю, то это не зависит от джанги. Это можно делать прямо в отладочной консоли файрфокса на стороне клиента.Все что здесь от джанги зависит это выдача статика jqurey.min в темплейт, да и то сейчас все используют wsgi для статики, а лучше CDN.
>>854826Объясните, пожалуйста, что здесь происходит.Супер добавляет к стандартному джанговскому методу models.Model.save код, идущий до супер? Почему просто не использовать декоратор для функции? Почему в супер self передается вторым аргументом? Вообще весь механизм что происходит можете описать? Я начинаю плавать в этом всем.
>>854833Перепутал. Вот нормальный шот.
>>854814Да, только он НОВЫЕ записи создает при сэйве. Я не понимаю как старую откорректировать.
>>854854Я тащемта спрашивал а не отвечал.
>>854855Покажи код?
>>854862>>854836Вот код модели. Меня интересует def save, в какой очередности и что делает супер.
>>854854Я перепробовал все что придумал, он новые озаписи создает блядь, вместо того тчобы старую обновить. Я не ебу что делать
Сорри, я тут запутался с постами и создал месс с ответами.
Как в PyCharm сделать что бы при запуске скрипта курсор автоматически устанавливался в зону где запускается скрипт? Например требуется ввести что то с клавиатуры, но курсор все еще стоит на последней написанной строке и при вводе чего то с клавы это разумеется записывается в код
>>854879Да покажи же свой код! Мы угадать должны че там у тебя написано?
>>854892По запросу "focus pycharm plugin" вышло нечто такое https://plugins.jetbrains.com/plugin/7138?pr= . Может, это поможет тебе. Хотя я не совсем понял проблему. Там есть пиктограмма "тоггл скролл" или как-то так, которая сама листает вниз по мере вывода.Алсо, все еще реквестирую помощь --> >>854833 >>854836
>>854895http://pastebin.com/1EsbN5Dc
>>854938http://pastebin.com/kyBcRZ9F строки 6 и 9
>>854947Нет, дружище. Создается новая запись.
>>854576Ну, раз уж ты спросил - представь, что твой requests.get блокирует весь, сука, процесс/тред до получения ответа. А с той стороны рукожопый вебмакак и ответ будет не раньше, чем через 15 секунд, а пока твои юзеры сосут хуй.
>>854947>>854938>>854980>>854895>>854879>>854854Так, я понял что я дебич. Ведь я юзал темплейт, окторый гртузил мне форму, которая отправляла свои данные на другую функцию, которая именно создавала книги.Все-таки наличие второй третьей, четвертой головы засталяет посмотреть на проблему с разных сторон.не повторяйте моих ошибок
>>854836Супер это "ссылка" на "предка" класса (в "кавычках", потому что все чуть сложнее).self(ClassName, self) - синтаксис 2 версии питона, в 3 все проще - super() и всеТ.е. все что этот код делает - устанавливает slug и вызывает потом метод .save() в том виде, как он определен у предка (т.е. у models.Model).http://ideone.com/w4b1GB
>>855001раз уж ты ответил - хули ты сразу не написал что твой реквестс будет тяжелым? тогда стандартно - делаем таск в целери, отдаем во вьюхе статус "process"...
>>855036или джанго чаннелс, но я их не пробовал, возможно ошибаюсь на их счет.
>>855001да и вообще писать подобные штуки на блокирующем фреймворке как то странно, не находишь? почему не взять aiohttp, если это апи сервис?
>>855036>>855040>>855041Как джангист раскудахтался!
>>855053почему джангист и почему раскудахтался?
>>855064пок-пок-пок
>>855065странный ты
>>855066Ладно, прости, думал ты джангист. джанго для дибилов
>>855067то есть один из крутейших веб фреймворков, с огромным сообществом и солидной историей - для дебилов?
>>855102 (OP) Перекат>>855102 (OP) Перекат>>855102 (OP) Перекат