24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
>>847046 >Как можно посмотреть, какой код находится внутри {{ form.as_p }} Посмотри на код отрендеренной HTML страницы, там у полей формы должен быть атрибут id - можешь написать свои стили для полей. Должно быть что-то типа "id_<имя поля>" Или, наверное, можно в пределах тега <form> всем инпутам задавать стили оформления. Добавь форме какой-то свой id и можешь менять стили только для нее. Можешь еще форму отображать просто как {{ form }}. В это случае поля не будут обернуты в тег <p> - возможно, тебе это поможет.
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.
Че он хочет от меня-то блядь? У меня форма авторизации, которая отправляет логин-пароль.
У меня есть вьюха 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 бар, в котором должен отображаться юзернейм.
>>847295 >>847297 Разобрался, хуево было отформатирована переменная. Джанге оказывается строго важно, чтобы внутри {{ }} не было переносов строк и т.п хуйни. Анону все равно сенкс
Попытался я тут освоить отладчик в пичарме наверно единственная вещь через которую можно юзать это джаватормоз и чот не пойму за step out, чому когда я делаю step out, меня перекидывает на этот код вместо могео шкрипта?
Хай питоняши, начинающему питоняше нужна помощь, как проверить выход за пределы массива? Я так понимаю, что например array[-1, x] - это просто 2 элемент в столбце с конца?
Сап, /pr/. У меня платина, видимо, но я не вижу в факах чёткого и понятного ответа. Я одминю по жизни, а любой админ - немножко кодер: написать гуёвину на чём-нибудь попроще для каких-нибудь настроекв моём случае Delphi/Lazarus, наваять скриптовое полотенцеVB/sh/Perl и т.п. Есть пара своих проектов, которые начинались на Delphi, потом были подправлены для Lazarus, но на самом деле с того момента, как закончил универ толком не кодил.
Сейчас думаю о том, чтобы освоить Пайтон в первую очередь для своих проектов, а там, может, для своего сайта вместо пыхи, да скрипты универсальные получить, и, что немаловажно для меня - для моего смартфона на SailfishOS можно писать на PyQt, но это потом. Собственно, отсюда и вопрос: допустим я написал прогу с гуём на своём лине, например, на ПайКьют, но я хочу выложить её в паблик в том числе для виндузятников, смогу ли я просто выложить exe/exe+dll или что-нибудь в этом роде, чтобы потенциальным пользователям не пришлось ставить Python? Винды для компиляции и тестирования я найду.
Вообще можно ли как-то без заморочек распространять софт на питоне и в общих чертах (детали найду сам, когда понадобится) - как это выглядит? Надеюсь, достаточно понятно сформулировал.
>>847705 Здесь далеко не всем нужно писать поддерживаемый код для повторного использования. Да и один хуй без знания PEP никакие шармы тебе не помогут сделать правильно.
>>847697 >py2exe win >py2app osx Это надёжный и рабочий метод без сбоев? И просто интересно, но не критично - можно ли потом из бинарника вырвать текст скрипта?
>>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.
>>847675 PyInstaller. Просто как два пальца сломать. Просто поставь, через 5 минут чтения туториала у тебя уже будет билд на руках.
Бугурт только будет от размера приложения. Пару метров будет сам питон, плюс метров 60 будет для каких-нибудь кутей, на которых ты свой двухкнопочный гуй для настроек запилишь. Фиг знает, вроде оптимизируется, но вряд ли до положенных толщин.
Так что сразу разрабатывай огромные программы, чтобы никто не лошил за размер дистрибутива.
>>847675 >написать гуёвину на чём-нибудь попроще для каких-нибудь настроек В 2k16 это большая проблема, единственное, что могу посоветовать это wxWidget > чтобы потенциальным пользователям не пришлось ставить Python? Сейчас такого дерьма почти нету увы(?) java/c#/python/ruby/nodejs/php/lisp всем нужна VM
>>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 и то на апаче, а вопрос кагбе именно в дистрибуции.
В tkinter добавил скроллбар, но стрелки почему-то у него остаются посередине , вместо того, чтобы "разъехаться" вдоль окна. Какое свойство нужно добавить?
>>847982 Да, ты чертовски прав, это работает. Какой-то вообще кучерявый модуль. Индексатор пайшарма вообще методы не видит для него, в документации ошибки. Как это прошло в пакэджиндекс неясно.
>>847989 Уже собственно написал. Допиливаю. Генератор обоев из ascii животных. Все это в фласковой обертке. Вот встал вопрос выбора хороших контрастных цветов, и нашел пару сервисов. Самые лучшие - колорловерс и адобе колорс. Адобе охуенен, но он выдает дату только жабаскриптом, так что там или фантомЖс подключать чтоб кровлить либо искать замену. Вот так вышел на то поделие. Осталось сейчас прикрутить генератор цветов и задеплоить в хероку. К вечеру выкачу сюды на пощелкать.
Длинно: После небольшой ебли с хероку, я наконец даю на тест это чудо быдлокода от человека, который не хочет учить питон, но хочет что-то на нем делать.
Суть проста: вы выбираете нужный размер и получаете замечательную уникальную минималистичную (или нет) обоину с преставителями фауны нашей планеты. Животные берутся из апи, их число неустановлено, ибо выдается одно рандомное за раз. Цветовая палитра парсится с замечательного агрегатора палитр ColourLovers. Цвета принадлежат одной палитре(каждый раз новой), что должно отсеять уебищные и сливающиеся цвета. Отдельное спасибо хочется сказать мейнтейнерам Pillow, которые до сих пор не могут замержить однолетний патч для многострочного textsize(). Верстка делалась на коленке, ибо десктоп с маком и нужным софтом сейчас недоступен. Слепил из стартеркита бутстрапа. Вещает через gUnicorn.
Всю дикость привел в порядок, прикрутил контоль версий и настроил PyCharm. Пробросил автоматический пайплайн из гитхаба сразу в хероку. Все изменения на гитхабе сразу пуш-деплоятся на работающий сайт. Желающие дописать/подправить мой быдлокод могут делать это штатными методами гит (хотя можно и через тред лол). Хотелось бы не "ты ### твой код ###", а "нужно так а не так".
С темплейтами полное говно, но сейчас я не настроен их делать.
>>848276 Я только сейчас понял что ты хотел. Для этого нужно прикручивать БД, ORM и лепить модели для нее. Это хорошее упражнение, я займусь им. Если охота что-то свое сгенерить то пока костыль: https://asciiwp.herokuapp.com/custom .
При 30 минутах неактива на фри аккаунте Heroku валит воркеры, так что если сайт долго отвечает, значит погодите сервак авоматически подымается (~10сек).
Мимо ваш зеленый питонщик. Почему так вяло в треде? .hk не резолвится и все забыли про зеркала?
>>848403 Все дело в том, что обработчик форм из короба не умеет в несколько форм, постящих на один и тот же урл. Нужно либо содавать дополнительные маршруты, либо писать более изящный костыль. Я вчера только заметил что кнопка для десктопа выдавала 1366x768 и цсрф токен был у нее тот же. Добавлю фичу в следующем коммите.
>>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>" Как это можно исправить?
Итак, ребята. Есть задача: выкачать кусок сайта с кэша гугла со всеми подпапками и файлами. По началу работало, а затем только выкидывает ошибку 503 server temporary unavailable. И в браузере при переходе капчу просит ввести. Я не понравился гуглу? Нужно time.sleep выставить, видимо. Так вот, собственно, вопрос: сколько держится бан гугла и сколько выставлять delay, чтобы от него по голове не попадало? Ну или утилиту/скрипт подкиньте рабочий, тогда совсем будет ок. И сколько сайт хранится в кэше?
>>848874 Сайт гитхаб если что, там была годная ветка со всякими ништяками, а сегодня захожу, а там пусто, 6 часов назад чувак, которому она принадлежит всё почистил. Печально ведь.
http://pastebin.com/c0KntdmW Привет, это говно из моей жопы. Одно из приложений моего сайта. Посмотрите на этот быдлокод. Если я приложу такой код к своему портфолио, он подарит мне вечный иммунитет к работе?
Зацените манипуляции с json при создании коммента. Это супер-костыль когда впадлу юзать поля postgresql
>>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')
>>848916 Блядь, всё, только дописал, всё работает, думаю да бля, в чём ошибка то, решаю проверить руками, а всё уже и из кэша удалено. Пиздец. Как нарочно блядь.
Вкатился. Собираюсь подаваться на python junior dev, либо на django dev. Для этого учу питон (ныне админю линухы).
Мне ООП надо? В вузе 3 года назад писал лабы на c# и что есть ООП представляю. Функционально познать питон будет достаточно, или нахуй иду, когда дело дойдет до джанги?
Сап котаны решил я вкатится в программирование, скачал python но к сожалению я такой аутист что даже не знаю как начать работу, как его запустить вообще?
Пофиксил размещение и размер текста. Теперь /custom может сгодиться еще и для генерации неиндексируемых пиков с номером телефона, e-mail и другой приваси даты.
>>849205 А что ещё он может вернуть если я прямо в коде пишу json? 404? >>849208 Список всех вбэмок на дваче. Потом можно скачать с помощью wget или смотреть онлайн с помощью mpv.
>>849264 > А что ещё он может вернуть если я прямо в коде пишу json? 404? > Кстати перед запуском для всех досок тестил это на муваче. Все jsonы просмотрел и никаких ошибок не вывело. Еще раз повторю. Лови исключение и смотри, что находится в content'е и status_code'е.
>>849729 А ты хорош. Сначала освой ЯП с супер-строгой типизацией и тысячей защит от стрельбы по ногам, чтобы потом ломануться в объектный в паскале нет объектов, в отличие от FPC(который в Lazarus'е) и Delphi/Object Pascal скриптовый язык, активно срущий на всё, настолько гибкий, что из рук выскальзывает.
>>849762 После того, как человек освоит Pascal с его наследниками он понимает, что это годный язык, на котором можно сделать что угодно, но на практике выяснится, что на таком языке всё пишется хорошо, но не слишком быстро. Скорее даже утомительно медленно, что быстро выбьет энтузиазм (впрочем, аутистм как раз похуй, из них получаются самые крутые гении кодинга на чём угодно). А у того же Лутца, да и вообще в любом учебнике, не рассчитанном на профи, суть переменных, циклов, условий и прочего будет объяснена достаточно подробно.
>>850226 Лутц - Изучаем Пистон Лутц - Программируем на Пистоне т.1 Лутц - Программируем на Пистоне т.2 Если ничего не знаешь - пойдёт и неплохо.
Если, например, знаешь кресты, но хочешь вкатиться - хватит и чего-нибудь типа этого самоучителя и потом других примеров с этого сайта: https://pythonworld.ru/samouchitel-python
Анон, посоветуй что-нибудь по Django с нуля. Пробовал Django by example, но вот уже 60 страниц охуеваю с "отрываем и views.py и пишет вот это" без всяких объяснений какой параметр за что отвечает. Есть что-то более адекватное?
Есть 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, то данные идут в консоль. Как это сделать? Прочитать файл построчно, создать двумерный массив? Я не понимаю. Помоги, анон. Надеюсь, понятно объяснил. В пайтоне новичок.
Ребята подскажите, можно ли как-то разграничить такую запись, точнее можно ли как-то явно указать питону, что я использую не переменную, а системную функцию (вторая строка)?
>>850665 Ни в коем случае. Отучился в радиотехническом вузике, но работаю обычым планктоном. Думаю взяться за решение задачки, а заодно подкачаться в пайтоне. Понимаю, что данные можно забить в мускл, и оттуда уже выдернуть селектом, но хочется без мускл.
Питонач, сильно ли будете меня бить за 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) не должен ничего нагружать, но надо замерить использование памяти при одновременном запуске множества таких корутин.
>>851023 Любой VDS/VPS/dedicated где железо не в роиссе. В остальном смотри на цены и плюшки (тип виртуализации, нужность-ненужность панели управления и т.п., версию ОС - вдруг ты угорел по ubuntu 16.04, а там только 12.15...) А так особой разницы нет.
Понравились фотки в паблике одном, захотелось их на обои ставить. Каждый день новую. Написал скрипт который скачивает оттуда фотку, и ставит ее на рабочий стол. Думаю ее кроном запускать. Ubuntu
>>847091 (OP) Поясните за Джанго. Это вроде как крутой фреймверк, с кучей готовых фич. Можно ли в нем писать как в похапе (т.е. банальные динамические страницы)? Или там все совсем по другому? И какую версию питона он поддерживает? Хочу курсач пилить, но как бы не обосали.
Антоши, у меня к вам такой вопрос: дело в том, что я гуманитарий. Нет-нет, я не хочу вкатиться в погроммирование с нуля и зарабатывать миллионы, подождите. Учусь на ФИНАНСИСТА. Недавно был на одной лекции, на которой чувак затирал про матметоды и погроммирование в экономике, рекомендовал питон. Хотелось бы узнать, есть ли здесь какие-нибудь аналитики и дата сайентисты из экономической/финансовой сферы? Будет ли знание питона хорошим плюсом для развития карьеры или для данной отрасли знание языков программирования не стоит так остро? Хотелось бы иметь конкурентные преимущества перед толпой таких же будущих объебосов-выпускников, как и я, но хочу знать, в ту ли степь я решил направиться. Не бейте, лучше обоссыте, если что. Случайно запостил в старый тред.
>>847091 (OP) Запостил по ошибке в старый тред, поэтому репостну сюда Привет, ночной питонач. На связи ультраньюфаг. Решил освоить хотя бы азы кодинга, начал с питона. Я и раньше пытался его учить, но надолго не хватало. А тут вот взялся основательно. Нашел видеоуроки от майкрософт для полных чайников, но на свою беду, я пытаюсь понять фундаментальные вещи, причем сразу. Не терпится чет.А там многое оставляют без объяснения, тип делайте не задавая вопросов. Так вот. Вот вроде бы функция - ты ей параметры, она тебе возвращает результат. Но что мать его происходит, когда внутри функции еще одна функция, да еще блджад с какими-то точками, как в случае с: a = "Абырвалг" print ( a.upper() ) То есть тут функция и print() и upper() тоже? А точка? Как зачем и почему эта точка?
>>851385 Только что качнул "укус питона", и тут тоже с самого начала предмет моего вопроса без пояснений. (7.4.6) Блин, мб стоит расслабить булки и получать удовольствие? Может я слишком спешу заглянуть вперед?
>>851389 Пока не вдуплишь основы на кодекадеми укус будет непонятен, пока не прорешаешь все с синк пайтон - не будешь знать куда конкретно питон этот пихать. А лутц чисто почитывай фоном где что конкретное непонятно.
>>851390 >кодекадеми Аа, так в скобочках было не перечисление вариантов, лол. А есть альтернатива кодекадеми? Я прост хоть и учу английский, но пока не настолько уверенно им владею, чтобы чему-то учиться на нем.
Салют. Я недавно в пайтоне, подскажите, пожалуйста: Я использую множества, из которых постепенно убираю по определённым правилам неподходящие мне варианты, примерно так: X={'a', 'b', 'c'} X.discard('a') X.discard('c')
Потом, когда остаётся единственно верный вариант, мне нужно его получить. Сейчас это выглядит так: if len(X) == 1: for i in X: res = i Но мне кажется, что это ну просто пиздец, какой костыль. Можно это сделать как-то приличнее?
>>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)) Какое-то непонятное пока колдунство.
система рейтинга для моего пет-проекта: в модельки книги есть поле текущего рейтинга и количества голосов вощем, решил в модели прям забабахать методу для обновления что-то типа такого
Почему в питоне так сложно обратиться к системной команде и получить результат? Просто сравниваю с рубишкой где `command` или system "command" и результат получаешь сразу, а в питоне код возврата. Как-то бесячивно это.
Посоветуйте книгу для изучения бидона для шарпо/плюсобоярина, чтоб после прочтения кроме синтаксиса понимал как кишки интерпретатора работают. Цель - применение библиотек уровня sci-kit и nltk без боли в анусе от каждой ошибки.
Плиз хелп, анон виз проблем хиреАноним06/10/16 Чтв 19:55:48#201№851717
Тестовое задание состоит в следующем: Необходимо написать парсер исходного файла с данными: JSON, CSV, XLS (на выбор). По структуре данные представляют собой Группу (Регион), параметр (Страна) и Значение. Группы содержат в себе ряд параметров, у каждого из которых есть свое числовое значение. Эти данные нужно записать в базу данных. Реализовать вывод имеющихся данных в виде столбикового графика. Выбор библиотеки на Ваше усмотрение. Например, HighCharts, AnyChart, AmCharts, либо любая другая библиотека графиков. Над графиком выпадающий список с Группами. При переключении группы в графике выводятся соответствующие данные, т.е. Параметры и их Значения (по осям графика), присущие выбранной Группе. По результатам выполнения этого задания определятся ваша скорость и качество кода, которые повлияют на возможность дальнейшей работы.
Начал учить джанго, оказалось что по самому популярному фреймворку питона почти нет актуальной информации, а все книги писались еще для 2.7 версии питона. Но пох, нашел перевод документации. И что нахуй? Это ебаный пиздец, я понимаю что высокоуровневые языки на то и расчитаны, что бы писать код мышкой нихуя не понимая как это работает, но это уже просто пиздец, просто на тебя вываливается 20 строк кода с коротеньким описанием того что он делает, но без пояснения как. Еще веселят пояснения в духе "эта функция может принимать несколько аргументов". Все. Урок окончен. Пиздец. И это один из самых популярных языков? Мне просто копировать стену кода каждый раз когда я буду создавать сайт? На пакет из ~15 файлов и ~500 строк кода 15 строк пояснений, все джангисты так и прогают, копируя код, понимая только зачем он нужен?
>>851820 "Начал учить джанго, оказалось что по самому популярному фреймворку питона почти нет актуальной информации..." дальше не читал. ты в очи долбишься.
>>851820 Список твоих проблем: 1. не знаешь английский 2. не можешь в документацию 3. не можешь в stackoverflow 4. не можешь в чтение и разбор исходников
Скажите, а можно ли самому сделать полноценный сайт с БД и всем остальным, у которого весь серверный код написан на Пайтоне? Можно ли это реализовать без фреймворков и стоит ли так делать хотя бы для небольших проектов?
>>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', ] ?? В уроках, которые идут с документацией, эти строки проигнорированы полностью, мне просто скопировать и идти писать резюме о поиске работы сеньера девелопера?
>>851840 и кстати, это увлекательно и очень познавательно. например, начни писать "легкую" джангу, но не переусердствуй в своем аскетизме! активно используй стандартную библиотеку.
>>851830 программирование это тебе не увлечение на недельку и потом 300к в секунду. это серьезная профессия, одна из сложнейших, с большими трудозатратами. года уйдут у тебя до сеньора. поэтому иди сука пидор и читай про каждую сука пидор строчку сука пидор. а когда поймешь какой ты здесь фейл устроил, приходи и задавай адекватные вопросы.
>>851840 Ну, для небольшого сайта, который мне сейчас нужен, мне хватит работы с БД на простейшем уровне, а если захочу что-то серьёзное, например, стендэлон-блог, то наверняка воспользуюсь чем-то готовым. Или, чем чёрт не шутит, может и до своего дойду, вон у lleo (Леонид Каганов) таким образом весьма нихуёвый биноникл вырос на пыхе со временем.
можно, конечно, но зачем оно надо? Фишка питона именно в быстрой разработке. Тебе не надо описывать много ненужной мишуры, ты просто взял готовый инструмент и используешь его.
В твоем случае, если не хочеться разбираться с django, вникать в mvc и тд. можно взять тот же flask и быстренько наклепать проект на нем. Порог вхождения там почти нулевой, всякие либы для комфортной работы тоже присутствуют
>>851778 Если дали задание по данных, то это с вероятностью 99% будет работа с библиотекой pandas. Возможно, если они не упомянули ее в задании, то подойдет ответ на чистом питоне, но если ты сделаешь на панде, тебя точно пригласят на собеседование. Вообще, я собирался немного популяризировать pandas на дваче, так как работаю с ней уже порядка года, так что буду рад помочь ( в рамках треда, конечно)
>>851873 думается проблема кроется в культурном слое: 1) легкие деньги! 2) почему легкие?- потому что вон на западе пацаны по 18лет неокончили ВУЗ, написали фейсбуки,... и на порше гоняют! 3) не такой как все (не быдло) - романтика! я хакер епта!
>>851865 >Фишка питона именно в быстрой разработке. Вот это мне и понравилось. Сейчас по-тихоньку переписываю один институтский проект с дельфей на пайтон для тестов, за пару вечеров с кайфом наваял то, над чем сидел пару недель, такими темпами через недельку реализую всё, что там было (пока что кроме гуя) и начну расширять функционал. Конечно, я сейчас старше и опытнее и понимание алгоритмов какое-то есть, но тогда-то я кодил постоянно, а с тех пор уже сколько лет - скрипты от случая к случаю и всё. >если не хочеться разбираться с django, вникать в mvc и тд. можно взять тот же flask Суть ясна - можно, но смысла мало. Значит, поковыряю фреймворки, когда с десктопным более-менее разберусь. >>851868 >есть время и желание разобраться в языке\технологиях глубже, то... ...можно написать и свой фреймворк, lol. Шучу. Ясно, проще пользоваться фреймворками. Правда, несколькими потами выше один товарищ уже бугуртил с джанго, на что ему сказали: >ты не с того начал, начни с изучения самого питона. То есть, чтобы работать с серьёзными фреймворками, нужно уже иметь некий скилл. Пойду его набирать, всем спасибо!
Вопрос к ребятам из тредаАноним06/10/16 Чтв 23:38:37#241№851898
Вобщем, хочу создать туториал по pandas, от парсинга данных из web api и до telegram bot`a, который выдает графики по запросу. Есть ли здесь люди, которым это будет интересно?
>>851901 Туториалы есть, но в большинстве своем эти туториалы для людей знакомых с data-science, я же хочу показать, как pandas можно использовать в более обычных задачах, где, казалось-бы, можно обойтись и чистым питоном, но на панде это получается решить быстрее и эффективнее в плане производительности приложения
>>851930 не, пиши конечно, дело то хорошее. только предметности какой нибудь бы, например: "распределенная система обработки данных на архитетуре SOA\Microservice". кстати, могу посодействовать в архитектуре, давно мысль запилить микросервис архитектуру..
>>851801 Даже не знаю как сказать спасибо! Не знаю, веришь ли ты в карму, но, в общем, я новенький в программировании, над этой штукой бился сегодня полдня, толком ничего не получалось, не то всё выходило, спасибо тебе огромное!
>>851773 спрашивали про внутреннее устройство словарей, списков, что будет если два раза импортнуть один и тот же модуль, что-то еще было, вспомню напишу. Про работу with спрашивали еще.
for i in range(len(minimax)): print(i) if math.isnan(minimax): pass else: if minimax < 0: minimax.pop(i)
Зорким змеям будет видно, что проблема в том, что список постоянно теряет в длине и выдает ошибку out of range. Есть ли способ починить не прибегая к использованию второго списка?
>>852073 Мне больше понравилась конструкция "if...elif". Данный код, правда, сокращается до двух строк: >a = input() >print(a.isdigit()) Булева переменная тут не нужна, нечего плодить сущности, ясно, что дело не в принте, поэтому лучше так: >a = input() >if a.isdigit: > statement1() >else: > statement2()
>>852221 Ну же, судари, я уверен с этой хренью так или иначе все сталкивались, я и сам пару раз делал но рытьё в старых проектах нифига мне не дало почему-то, что-то проёбываю или в джанго 1.10 что-то поменяли
>>852237 У тебя вся статика лежит в отдельной папке, а не в приложениях, как я понял. Попробуй в настройки добавить >STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)
>>852247 >nginx А, ну это ясно. Я думал, ты сейчас про что-нибудь новое расскажешь. В продакшене, само собой, он будет nginx использовать. Тут же речь идет о том, чтобы только во время разработки обрабатывать статику встроенным сервером.
>>852253 > обрабатывать статику встроенным сервером Нахуя? Сделать реверс-прокси и готово. Впрочем, твоё дело. Как в джанге это делать не ебу, сам не пользовался её сервером для такой цели.
>>852260 Хмм.. Ну я тогда не знаю. Перезапуcти сервер. А потом обнови страницу CTRL+F5 Проверь всё, может опечатка где-то есть.
>if settings.DEBUG: Эта строка не нужна
>STATIC_ROOT = os.path.join(BASE_DIR, 'static/') Слеш убери. Он вроде никак не влияет, но и не нужен
STATIC_ROOT - это вообще должна быть пустая папка, в которую ты соберешь всю статику со всех приложений для того, чтобы обрабатывать ее потом сервером типа nginx'а, когда деплоить проект будешь. Переименуй, например, в 'collected_static' или или еще как-то.
когда они блядь это починят, уже год я из раза в раз ебусь с этой придурошной хуйнёй. и да, она простая, всё ж не memory leak'и ловить, но какого блядь хуя.
>>852275 Тоже временами ебусь то с этим, то с подключением собственных приложений - легко упустить какую-нибудь деталь. В принципе, могу щас тоже взглянуть на твой проект, если выложишь куда-нибудь свой код.
>>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. И наследует, в админке например.
>>852369 BlogDetails - это что ттакое? Если модель, то должна наследовать моделс.Модел. Или у тебя пейдж - это абстрактная модель? Или же тебе нужно наследование типа Блог - страницы? Тогда это делается через ForeignKey. У тебя какая-то непонятная хуйня, крч.
>>852395 Абстрактная модель, да. Чего-то не завелось. Поскольку время поджимает - забил хуй и вставил код прямо в модели. Да, дублирование и вообще тупо. Потом переделаю. >>852414 Попробовал, чего-то не цепляет вообще. Но спасибо.
вот тулю я в шаблон {% url "blog" %} мне и нужен "^blog/$" в принципе чё оно от меня ещё хочет? дописывал как во view оно называется, и url blog:post_list и 'blog' 'post_list' и ещё пара вариаций - или темплейт эррор или no_reverse_match
>>852534 url 'blog.views.post_list' тоже писал разумеется в INSTALLED_APPS всё есть и в urls.py проекта пусть к приложению занесён типа аргумент какой-то нужен, но какой блядь аргумент когда с другой стороны функция без аргументов? не понимать
Вот есть апп deal с шаблоном hotdeal.html как его впердолить в base.css я так понимаю {% include "deal/hotdeal.html %} не обрабатывает запросы, а тупо выгребает хтмл
Привет, анон. Только начал учить питон (неделю), ибо язык вроде топовый. Сейчас читаю Byte of Python. Потом буду поглощать Луцмана и Саммерфилда. В день уделяю этому один-два часа. Есть ли какие-то шансы выучить его на уровне составления каких-то более менее программ среднего уровня до конца года? И еще в этом году диплом. Решил в дипломном проекте составить программу на питоне для юр.фирмы(знакомые). Можете подсказать какие-нибудь идеи программы, чтобы она могла как-то использоваться на данном предприятии? Заранее спасибо.
>>852702 Да, может успеешь. Дочитав Синк Пайтон ты сможешь написать почти что угодно на питоне. CRMку им напиши. Или поисковик по документам на elastic search/solar с беком на боттле или еще чем постом.
>>852741 Я хотел как в php с инклудами - инкуднул и оно прогнало шаблон по его вьюшке, выгребло данные из бд, вставило. Питон так не делает, он инклуднуть может конечно но не парясь, безо всяких данных, только то что в самом шаблоне есть ото и его В итоге я просто во все нужные страницы теперь вставляю блок и во вьюхи соответствующее. Окей.
>>852770 А если тебе нужно отображать эту информацию на всех страницах, то может быть будет лучше свой context processor написать. https://docs.djangoproject.com/en/1.10/ref/templates/api/#writing-your-own-context-processors Пишешь функцию, которая возвращает словарь, добавлешь ее в список context_processors в настройках и у тебя во всех шаблонах будет доступна переменная - результат работы твоей функции.
Товарищи, а подскажите мне пожалуйста вот ещё что:
В джанго нужно создать страничку с файлами, и авторизацию к этой страничке исключительно для одного пользователя. В идеале даже что бы по прямой ссылке на файл никто кроме этого пользователя скачать не мог.
>>852854 Бегло взглянул - кроме энжиникса поддерживает и другие сервера, но для nginx-a использует как раз тот самый x-accel Так что тебе должно подойти
>>852702 >Есть ли какие-то шансы выучить его на уровне составления каких-то более менее программ среднего уровня до конца года? На самом деле зависит от того, что ты уже умеешь. Если изучаешь с нуля, то навряд ли. Нужно, чтобы мозг понял, как вообще кодить, нужна практика и шишки, а это за пару месяцев не получишь.
Судари, а подскажите Модель джанго, поле >colors = models.CharField(choices=colors_list) хочу в choices добавить html ну типа >colors_list = (('red': '#f44336'),('blue': '#2196f3'))
есть какой-то вариант в джанго-админку запихивать это всё например с style="background-color:#xxxxxx" в подложке каждого пункта списка? Как это делать вообще?
Есть список категорий с подкатегориями. Дальше идут принадлежащие им item'ы. Всё как обычно, всё работает, заебись.
Теперь выясняется что item'ы отдельных категорий должны иметь разные списки характеристик, частично пересекающиеся. Важно: конечное количество категорий и все конечные характеристики для итемов известны.
Вопрос как это грамотно организовать. Конечные значения известны, поэтому какой-то фабрики не требуется. Достаточно ли просто сделать абстрактный класс для item, имеющий все пересекающиеся поля, и от не наследоваться остальным? Или это пиздец, потому что по сути придется написать десяток-два моделей вручную, у каждой из которых еще связь с общей таблицей категорий?
"Сениор" рассказывает про "настройку тэстовой инфраструктуры" (докир). Сам он, по его словам, с докиром дел никогда не имел, но считает что "вообще наверное это нужно".
>>853269 я базовым классом модели сделал, потому что не известно количество и содержание моделей, но некоторые пересекающиеся поля есть, к тому же для каждой модели еще и форму надо... поэтому получается так что при добавлении новой сущности хочешь-не хочешь, а код писать придется.
>>853351 Тебе нужна возможность загружать новые файлы со страницы со списком файлов, правильно? Гугли как переопределять стандартные (и добавлять новые) вьюхи и темплейты в админке.
Наверное, на странице со списком файлов можешь поместить кнопку "Upload files". Кликаешь на нее и перенаправляешься на страницу добавления файлов с формой (может быть это будет новая вьюха, а может и ту, которая у тебя уже есть получится использовать). После загрузки файлов редиректишься обратно. Ну или на страницу со списком файлов запихай форму, но, наверное, тогда тебе стандартную вьюху надо будет переписать, чтобы она еще и загрузку фалов обрабатывала. Вот тебе решение для загрузки нескольких файлов https://docs.djangoproject.com/en/1.10/topics/http/file-uploads/#uploading-multiple-files
Сам такого не делал, но мне кажется должно сработать.
>>853359 Там суть не в двойных стандартах, а в том что индивид - неразбирающийся колхозник без образования (даже "тест" пишет постоянно через "э") и уже несколько лет как без практики, при этом вешающий лапшу на серьёзных щах. Это отдельный вид петушков, позиционирующих себя как специалистов, при сидящих на какой-то должности в конторке где они такому же говноеду-начальнику смогли навязать свою охуительность и незаменимость. Постоянно наталкиваюсь на таких, если ищешь работу и видишь что-то подобное - беги и не оглядывайся.
>>853388 Ну так я тебе про это и говорю ведь, кажется. Или я неправильно понял? Есть у тебя страница в админке со списком файлов, там фильтры какие-то у тебя еще что-то.. Вот туда и зафигач кнопку или форму.
У меня убунта стоит, в ней прошит 2.7. Я хочу работать в версии 3.5.
Как вы вообще работаете с разными версиями? Или проще снести бубунту и перейти на дистрибутив, у которого изначально расововерная версия питона? Несколько часов сегодня проебал, пытаясь в этом вопросе разобраться Я знаю, что долбоёбПомогите убогому
Парни, какими модулями лучше реализовать параллельное выполнение нескольких экземпляров функции с передачей результатов одной функции-обработчику, чтоб минимальное вхождение особенно для тех, кто раньше с параллелизмом вообще дел не имел? Спасибо
У меня модель книжки, к ней через поля ForeignKey присобачены автор и жанр книги. Как мне во вьюхе для определенной книги вывести атрибуты связанных с ней авторов и жанров? Author.objects.что писать?
>>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 ставит, удаляет, обновляет пакеты только в этом окружении и не трогает ни гловальное, ни какое либо еще.
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 , ну ты понел короче
>>853512 Проблема не со скриптами, а с джанго. С виртуальной средой я поебался и что-то нихуя в итоге не вышло. Гайдов понятных так и не нагуглил. Подумываю снести систему, чтобы поставить сразу с дефолным питоном нормальным. Есть также аккаунт на pythonanywhere, но как там сменять дефолнтую версию я тоже нихуя не понял.
>>853520 >>853520 >С виртуальной средой я поебался и что-то нихуя в итоге не вышло. Гайдов понятных так и не нагуглил. Подумываю снести систему, чтобы поставить сразу с дефолным питоном нормальным. Сука пиздец. Сделал мой вечер.
>>853537 Да просто вы дичь городите все тут, линуксоиды хреновы. Сами не понимаете какие пакеты соотносятся с какой версией, какие либы есть в репах и как они называются. Я бы и сам запутался.
>>853515 Спасибо огромное, анончик! Твоя инструкция помогла. А как ты сам разбирался в этом вопросе? Я просто хотел бы понять методологическую свою ошибку, чтобы в следующий раз не бежать на двачи плакаться Или это нормально и все так по началу делали? Ты гуглил и по официальным мануалам учил или книжки какие? Или также советы спрашивал в своё время?
>>853542 не помню уже. так, на вскидку, рано в джанго суёшься если эту штуку не понимаешь. классическое обучение питону где-то такое: codecademy - a byte of python - think python -- и всё это почитывая параллельно лутца потом джанго по >>853526 вот этой схеме у меня где-то месяца 4 ушло на всё это с нулевого знания программинга и линукса, и я фигачил нифига не по пять часов в сутки
>>853507 >>853516 Вдогонку, если кто работал с либой multiprocessing и ее Pool, можете подсказать, в асихронном режиме его потоки будут лопатить передаваемый в параметрах список одновременно или ждать завершения друг дружки? >>853565 Gentooна форчане посоветовали, когда я музыку искал в поездку, они на все там пишут install gentoo Тут местный apt-get написан на питоне, плюс есть eselect, чтоб между версиями переключаться одной кнопкой.
>>853579 как создавать contex processors? раньше просто было папку создаёшь, туда файлы с импортами из моделей, и в настройках пропискать сейчас вообще в 1.10 контекс процессоров не вижу
>>853592 и кстати, executor = concurrent.futures.ProcessPoolExecutor( max_workers=3, ) max_workers - по умолчанию количество ядер, потому можешь не определять
в шаблоне просто: {{ deal.event }} и ёбанный в рот нихуя как только не пробовал, и блядь по-старому через render, render_to_responce, и через блядь from django.template import Context, Template и Template.render(Context(context))
что за ёбанный нахуй в рот и жопу блядь, у меня уже сука зла нехватает
>>853687 Зачем ты переопределяешь save()? Ты ведь не делаешь никаких кастомных валидаций, а только вызываешь clean(), который, по сути, и так вызовется.
>>853839 Получается, ты форму рендеришь на более, чем одной странице, раз ты context_processor сделал? Тогда тебе еще надо атрибут action у формы указывать, чтобы слать данные на урл той вьюхи, которая будет брабатывать форму ><form role="form" action="/handle-form-url/" method="post">
И в url.py как-то так: >urlpatterns = [ >....url(r'^handle-form-url/$', views.handle_form), >]
>>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) тоже и по нему можно понять где начало нового архива. Количество и размер файлов тоже неизвестен. Так вот, нужно как-то прочитать ВСЕ архивы из файла и распаковать их. И вот на этом-то я и застрял. Прочитать самый первый получается без проблем, а вот как остальные за ним - вообще не ебу. Программач, подскажи чего-нибудь?
>>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]
>>853503 >Как вы вообще работаете с разными версиями? Ну я, например, на дебиане не парюсь и просто явно указываю версию (python3 вызывает самую свежую трёшку, python - самую свежую двушку), проверено, что на маках работает так же.
>>854042 Некоторые тяжёлые либы долго и/или сложно собрать из исходников (opencv, например). Поэтому приходится использовать "системную" версию питона из-за бинарных пакетов.
>>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'] Подскажи, о могучий, где я налажал и как это исправить.
Почаны, через что удобнее всего выводить много данных, чтобы можно было потом посмотреть? Короче, каждый день каждые пять минут записываются данные, и мне нужно будет потом сравнить по дням чтобы дни рядом были и значения за каждый час, минуту. Графики походу сложные будут, идеальнee всего таблицы, но сsv по-моему не для таких целей.
Пайтоны, выручайте. Нужно из питоньего кода запускать линуксовый бинарник казалось бы, ок, юзай системные вызовы и обрабатывать высираемый бинарником результат. Проблема в том, что бинарь выводит в STDOUT данные в час по чайной ложке и обработать каждую строку нужно по мере появления, а не в конце, когда весь вывод будет окончательно сформирован. Может вы знаете, как такое сделать?
Как в Django правильно работать со сторонними модулями? Допустим, я хочу взять откуда-то дату через requests и направить в шаблон через контекст. Где правильно импортировать requests и использовать его? Или по гайдлайнам джанго нужно для этого создавать новое приложение? Вообще, дайте пожалуйста юзкейсы с гитхаба, где джанго используется для построения сервисов, а не просто сайтов и общается не только со своей БД, но еще и со сторонними модулями (генераторы пдфок может, или картинок, или еще что).
>>854537 где угодно ты можешь встроить свою логику, точек входа просто уйма: views, models, context_processors, middlewares... джанга - не анально огороженная cms, джанга - фреймворк. в твоем случае логику проще всего написать во вью: import requests
>>854563 Моих знаний достаточно, чтобы сделать то что ты говоришь. Дело в том, что я хочу не просто писать быдлокод, захламляя проект, а делать как правильно. Вот ищу типовой проект чтобы посмотреть как это делают профи.
>>854576 Дело не в requests.get, а в том что это может быть другая библиотека с кучей кода под нее. Я бы логически вынес это в виде фкнкций в отдельный файл, затем из него во вью импортировал и выполнял функции. Но мне кажется это нарушит структуру django проекта.
>>854582 да никак это не нарушит) я видел проект (сложный большой...) где от первоначальной структуры (как в туториале) не осталось нихуя вообще, там запилили свой фреймворк на джанго фреймворке, и нихуя! работает!
>>854597 прозреваю что у тебя есть какой то 1 вью с формой. тогда просто пили файл типа "eba_pdf_functions.py", клади его рядом с forms.py или куда угодно, импортируй функцию generate_pdf из этого файла в туда, где ты будешь обрабатывать инпуты, все.
>>854602 ты импортируешь что то из __future__ пайчарм предлагает тебе включить проверку на совместимость этого чего то с твоим кодом. (я обычно жмакая no)
>>854606 Странно, ручных импортов я не делал. Видимо, где-то в модулях. Что это вообще? Функционал, который тестируется для выхода в следующих версиях языка или что?
Как реализовать редактирование существующей записи в бд, используя ту же форму, что и при создании этой записи? Мне бы сделать так, чтобы при показе формы редактирования отображались старые данные в полях, которые я смогу изменить. Куда копать?
>>854727 >>854729 Не, я не понял. Как мне проапдейтить старую запись, а не делать новую на основе этой инфы? Все что я пытаюсь сделать создает новую запись.
>>854815 Я не очень знаком с фронтенд. Селекторы выбирают объекты из DOM по параметрам? Если это то, о чем я думаю, то это не зависит от джанги. Это можно делать прямо в отладочной консоли файрфокса на стороне клиента. Все что здесь от джанги зависит это выдача статика jqurey.min в темплейт, да и то сейчас все используют wsgi для статики, а лучше CDN.
>>854826 Объясните, пожалуйста, что здесь происходит. Супер добавляет к стандартному джанговскому методу models.Model.save код, идущий до супер? Почему просто не использовать декоратор для функции? Почему в супер self передается вторым аргументом? Вообще весь механизм что происходит можете описать? Я начинаю плавать в этом всем.
Как в PyCharm сделать что бы при запуске скрипта курсор автоматически устанавливался в зону где запускается скрипт? Например требуется ввести что то с клавиатуры, но курсор все еще стоит на последней написанной строке и при вводе чего то с клавы это разумеется записывается в код
>>854892 По запросу "focus pycharm plugin" вышло нечто такое https://plugins.jetbrains.com/plugin/7138?pr= . Может, это поможет тебе. Хотя я не совсем понял проблему. Там есть пиктограмма "тоггл скролл" или как-то так, которая сама листает вниз по мере вывода.
>>854576 Ну, раз уж ты спросил - представь, что твой requests.get блокирует весь, сука, процесс/тред до получения ответа. А с той стороны рукожопый вебмакак и ответ будет не раньше, чем через 15 секунд, а пока твои юзеры сосут хуй.
Так, я понял что я дебич. Ведь я юзал темплейт, окторый гртузил мне форму, которая отправляла свои данные на другую функцию, которая именно создавала книги. Все-таки наличие второй третьей, четвертой головы засталяет посмотреть на проблему с разных сторон. не повторяйте моих ошибок
>>854836 Супер это "ссылка" на "предка" класса (в "кавычках", потому что все чуть сложнее). self(ClassName, self) - синтаксис 2 версии питона, в 3 все проще - super() и все Т.е. все что этот код делает - устанавливает slug и вызывает потом метод .save() в том виде, как он определен у предка (т.е. у models.Model). http://ideone.com/w4b1GB
>>855001 раз уж ты ответил - хули ты сразу не написал что твой реквестс будет тяжелым? тогда стандартно - делаем таск в целери, отдаем во вьюхе статус "process"...
Прошлый: