Это копия, сохраненная 17 ноября 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
на питоне
а потом делиться ей
в идеоне
покажу братулям из пр
результаты
но не видеть никогда
мне зарплаты
репост
Так сохраняй картинку и грузи через POST-запрос в веб-форму. Я так понимаю, ты учишься с питоном работать, а не занимаешься серьёзным проектом, так что на пользу пойдёт.
Ну ешки-матрешки. Я делаю автоматический сервис, который сам будет все делать. На входе только линк на тред.
Да и качать-отправлять картинки это такие величины дискспейса и бэндвиза что мне уже точно негде задеплоить без вложений.
Слушай, а сделай по другому. Вместо заливки на сторонний вебсервис пусть твоя прога выдает один большой mhtml файл.
Ну ограничивай заливку картинок по скорости. Ну не можешь ты заливать, скажем, больше 1mb в 10 сек. Ок.
На домашнем сервере захости, если тебя беспокоит трафик. А картинку тебе надо только на время загрузки на хостинг сохранить, потом удалять можно, так что проблем с дискспейсом не будет. И о ручной работе речи и не идёт, всё должно происходить без твоего вмешательства. Просто тут, чтобы нормально получилось, надо что-то посложнее конвертера ссылок на картинки сделать
Локальный архивач надо в базах держать, а тут просто скачивалка.
Ну треды и так очередью чекаются с интервалом. Но один хуй, пользователь не будет полдня куковать пока его тред проиндексируется и зальется. Да и лимиты от этого не изменятся. Можно, конечно и несколько OAuth ключей чередовать, но все это вразрез идет с TOS, мы же за честный мир.
>>861373
Ну ты явно не вкуриваешь суть. Все равно нужно куда-то заливать. И этого куда-то, годящегося для работы в качестве сайта (спросил тред - получил картинки прямыми ссыоками) пока не видно.
>>861378
>конвертера ссылок на картинки сделать
Ну вот, в идеале я к этому и иду. Получаем жсон, берем ссылки на имаги, заливаем их и подменяем на свои, все тот же жсон возвращаем во вьюху и рендерим.
Ну и в БД еще пишем, ясное дело.
Опа, в старых тредах еще другие хостинги всплыли.
Уже смотрел. Там йоба SDK и прямые ссылки просто так не вытащишь. Тащемта нашел я вариант, который даже автоматически тамбнейлы делает. Вечером опять открою проект и буду упражняться.
Зачем я это делаю?
Собери все существующие сервисы заливки картинок и ебаш раунд-робином
Обойки чтоль?
Ехал джанго через реку,
Видит джанго в реке flask,
Сунул джанго боттл в реку,
Фласк за боттл джангу цап.
предлагаю сделать это офф. гимном питон треда
И там Торнадо ещё такой на клыка асинхронно накидал.
А почему во всем известной пасте не упоминается django, а только торнадо?
Но там еще нечего пушить.
потомучто джанго выглядит как фронт-енд решение, в то время как, торнадо ориентируется на микро-сервис архитектуру, и быть полноценным мидл звеном в мулти тир архитектуре. Это выглядит солиднее чем обычный заезженный mvc фреймворк, мода диктует свое.
Честно говоря, если знаешь как готовить джанго, то в таком же ключе его можно использовать, как и торнадо, в своих проектах. Просто джанго-проджект не позиционирует его в этом ключе, его основной посыл в виде олд-скул mvc.
Сорри, нет у меня шизофазии. я просто уже 4 года не живу в россии и у меня нет общения с нэйтив. Немного деградирую в общении. Патерны чужих языков уже прослеживаются в конструкции.
Миллер ето ти?
Бурят плиз
Это смешно. О каком бизнесе в России вообще может идти речь? Двач максимум.
Все очень просто, если навыки в чем-то проподают, то это нормальный ход вещей. Значит они не нужны на таком уровне, от них нет выхлопа.
Работаю в компании по доставке рекламы от рекламодателей площадкам.
Сервачок держим на пайтоне пока полностью, разные части на разных версиях пайтона, на 3 недавно перекатились, где-то через месяц после релиза async/await из коробки.
Из необычного только руби для деплоя наверно.
>>861533
> Для бизнес-переписки неплохо бы знать основы русского языка.
Проиграл
Работает. Похоже вас отключают.
Вариант писать координаты в лупе и быстро возвращать мышь на место не подходит. Даже самый быстрый и простой луп не позволяет заблокировать мышь совсем, а мне нужно заблокировать железно, потому что я собираюсь двигать мышь самостоятельно. При этом мышь будет дёргаться, что ухуячивает всю идею.
В идеале перехватывать эвент движения мыши, но я не нашёл такого функционала в существующих либах при первичном просмотре доков и использовании pynput и PyAutoGUI.
я сомневаюсь,что это реально на питоне, тут нужен хук, а ос питон код наврятли сможет запустить, бинарные либы нужны с обычным кодом
ух ты! спс!
При этом с таким адресом всё ок
Разбери урл на запчасти сначала:
https://docs.python.org/3/library/urllib.parse.html#module-urllib.parse
Ой, туплю, у тебя там lower есть. Но всё равно регулярками лучше
Говно.
Эта регулярка..
Есть скрипт: перебирает все возможные доски на сосаче из 2 букв, в данном случае конечно. Если такая доска существует, то она записывается в файл. Вот только на перебор 650? ссылок ушло почти 3 минуты, а ведь это только комбинации из 2 латинских букв... Как-нибудь в разы можно ускорить процесс?
bs4 - потому что только так умею, да и сосач тут всего лишь как пример
Сижу читаю, сложноооо (для меня). Ладно, буду пробовать разобраться.
А вообще выглядит так, что одно только добавление многопоточности уже в разы сложнее имеющегося кода, лол.
Есть одна либа, с которой даже не нужно будет менять код, только добавить пару строк, палить не буду, иди разбирайся.
>функция1
вызывало функцию1
>функция2 аргумент
вызывало функцию2 и передавало ей аргумент.
Вызовы функций сделаю с помощью словарей, а как передавать аргументы - хз. Помоги, анон.
1. https://2ch.hk/makaba/mobile.fcgi?task=get_boards (М)
2. Ты действительно считаешь, что перебор всех вариантов "прокатит"?
Ну я же сказал, что сосач тут только как пример.
С такой скоростью перебора как у меня точно не прокатит, хех. А вообще да, должно, в этом и задумка.
>>861888
Фигово, ну ладно, поищу или буду разбираться.
>>861892
Угу, спасибо, про это тоже узнаю.
Админ сайта может это расценить как неуклюжую разведку неумелого злоумышленника(что скорее всего так и есть). Тебя скорее всего довольно быстро забанят.
Хуясе, кто-то меняцитирует, лол. Вот что значит успех!
Спасибо.
У меня так много вопросов, я даже не знаю, что спросить, поэтому просто промолчу и потыкаю в код сам, может разберусь.
Спасибо, буду разбираться.
Вроде оно, если я правильно понял как этот код работает. Спасибо.
На гоблина дрочишь?
>Ну ты головой-то хоть подумай.
А что не так?У Jino плохие отзывы.
Так в чем проблема?Вроде модуль mysql установлен
Все, выяснил, установлен.В папке site-packages лежит MySQL_python-1.2.5-py2.7.egg-info.Что с этим делоть?
Родина Буша дала им PaaS, на - пробуй. Бесплатно пробуй блядь. Подключай системы сборки, БД, проводи пайплайны, деплой за секунду, скалируй.
Нет, куплю гаражный хостинг ориентированный на похапе, буду ебать мозгу себе и других подключу.
При использовании SSH версия Python по умолчанию — 2.6.x. Поэтому рекомендуем использовать в терминале команду python2.7 вместо python или переключаться в виртуальное окружение (virtualenv).
Не перестаю орать.
Так я сначала и использовал джанго.Но там тоже какие-то ошибки.Я отключил эту хуиту в общем, ибо в скриптах сайта написано, что нужен только модуль mysql и cgi.
>>861987
2.7
>сначала и использовал джанго.Но там тоже какие-то ошибки.Я отключил эту хуиту в общем
>Все настроил как надо
>Так я сначала и использовал джанго.Но там тоже какие-то ошибки.Я отключил эту хуиту в общем
>>861993
Джанго в 2 раза дороже cgi.И его тяжело настраивать.Нихуя нету никакой документации на русском.Точнее есть, но хуевая.А тут сам разраб написал, что cgi надо
>Джанго в 2 раза дороже cgi
Тут не поспоришь.
>сам разраб написал
Заплати ему, пусть он сам все настроит.
Алсо, ошибка в джанго была такая:ImportError: No module named хуита.urls
git нет, cli-тулзов нет, ничего нет. Зато есть веб-панель управления, SSH? python2 и бородатый админ, настраивающий джангу, как в 2007. Беги оттуда, найди что-то питон-ориентированное.
Может корневая директория не та, в любом случае твои аппы не видны для импорта. Импортируй os и смотри что к чему, пробуй импортировать отдельно модули.
>Беги оттуда, найди что-то питон-ориентированное.
С радостью бы оттуда ушел, но я туда положил 1,5 тысячи, а политика джино запрешает выводить деньги обратно.
>>862004
>Импортируй os
Делал.Там импорт os с самого начала записан в начале скрепта уже.
В faq джинго написано
>Откройте файл settings.py и измените в нем значения необходимых переменных. В качестве значения переменной STATIC_ROOT укажите os.path.join(os.path.expanduser('~'), 'domains/имя_домена/static/')
Но никакого статик_рут нету.Куда эту хуиту сувать?
Да понятно что он прописан, дубина. Выводи с его помощью списки директорий откуда импорт идет, убедись что питон их умеет достигать. Проверь интерпретатор "which python", убедись что он вещает из венва. Скорее всего ты напартачил с путями.
Что никак? Ты вообще разработчик или тебе дали готовую хуйню разворачивать? Почему-то я представляю второе.
> Поставил сегодня на хостинг jino сайт на питоне
Лол
За те же самые деньги берешь vds и не ебешь мозги.
Так все элементарно настраивается.
1. Хуяришь nginx как реверс прокси на uwsgi
2. Раскатываешь джангу с копипастой какого-нибудь uwsgi конфига
3. Профит
tornado
Второе, да.Я питона знаю только как переменные объявлять.
Мерзкий и джанго можно ставить вместе в одном предложении, если речь идет о негре.
Бросает ошибку при втором вызове функции 16 строка.
TypeError: 'numpy.ndarray' object is not callable
http://pastebin.com/m6w6KHbE
В обоих случаях на вход идут 4х4 матрицы numpy.ndarray
>TypeError: 'numpy.ndarray' object is not callable
Обычно вылазиет когда путаешь аттрибут с методом. Скобки, то бишь ставишь, бывает и аргументы еще туда тычешь. Ищи у кого в твоем скрипте тип из ошибки.
Мой черед спрашивать.
Нужно из списка строк соорудить новый список, в котором каждым элементом будет строка из 4x элементов первого списка с сепаратором (s).
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
||||
\/
['a (s) b (s) c (s) d (s)' , 'e (s), f (s), g (s), h (s)']
chunk + str.join
Спасибо! Я уже чувствовал себя дегродом когда часа два с промежутком на чай пытался это сделать. Теперь я уверен.
Что мне курить? Алгоритмы?
>Что мне курить?
Стандартную библиотеку, циклы, работу со строками, list comprehensions вот это вот все. И немного попрактиковаться.
>Алгоритмы?
Будет полезно. Но никакой литературы не порекомендую - сам алгоритмов не знаю.
Но по сути одно и тоже бы. Join бы компактнее сделать.
Тогда зачем что-то менять, ты и так успешен.
Первые 1.5 курса - страдал хуитой. Потом был C#. Только к середине 3 курса я познал питон и всё осознал. Вот только диплом пришлось всё же писать на шарпе, поэтому нет готовых питоньих проектов. Сейчас имею небольшой пыт работы с джангами/фласками. Также немного подзадрачивал реакты JS и прочие линуксы. Тем не менее, нужно в резюме что-то вклеить, а я понятия не имею что можно делать и интересное, и полезное.
Ну, в моеё мухосрани нет питоньих вакансий. Придется ехать в РБ-шный ДС. Для этого придется тратить много валюты. Поэтому хочется как-то увеличь шансы на нормальное собеседование, да и просто хочется что-то писать. За последние 2 месяца именно на рассылку резюме не откликнулась ни одна компания. Почти устроился в одну контору на которую навел друг, но в последний момент обломилось. Теперь вообще не знаю что делать.
ну напиши например accounts апп для джанго. что бы регистрация была, вход через соц. сети и прочая мудоебань... потом тебе пригодится самому и показать будет что.
Ведь если просто удалить эту часть кода то ничего не изменится на странице -_-
p.s. ну или хоть в принципе - как изменить хтмл код страницы с пистона?
Если я тебя правильно понял, что через свой прокси-сервер. Отправляешь запрос на свой сервер, он запрашивает страницу с сайта, обрабатывает ее, и после этого отдает тебе в браузер.
Хм, тоесть мне нужно схоронить всю страницу, затем изменить её, ввести в неё нужные данные и вернуть вот это вот всё ...?
p.s.можно чуть подробнее?
Нет, давай ты для начала подробнее опишешь задачу. То, что у тебя на пике - манипуляция с DOM. Если ты хочешь такое изобразить со страницей в браузере, то, наверное, никак.
На пике у меня скрин из документации для реКапчи 2.0, я отправляю капчу на решение, затем мне приходит ответ и что бы его вставить мне надо отобразить скрытое поле(ну это я так, мало ли). Просто так мне некуда вставить ответ.
Все равно ничего не понял.
Если ты делаешь руками в браузере, то используй javascript. Будет выглядеть примерно так:
document.getElementById('g-recaptcha-response').style.display = 'block';
Если это исполняет скрипт на питоне, то тебе не нужно это поле, тебе нужно отправить post-запрос с нужным полем.
Таки это делает скрипт на питоне без браузера.
(https://rucaptcha.com/recaptchav2_rus_instruction)
Я может нуб полный...но какой там пост запрос то отпавлять?
По нажатию кнопки submit отправляется запрос. В том же самом "инспекторе" можно посмотреть что и как отправляется. Отправляешь запрос из скрипта такого же вида. Все.
Понял, спасибо.
Думаю ласт вопрос.
Как из этого ..... запилить пост запрос?
Где тут инфа которую нужно отправить?
p.s. это всё то что получается при нажатии кнопки "log in".
Используй requests.post. В документации к requests есть пример с передачей данных в теле запроса.
sad_owl.png , lol -_-
Отправил данные в json формате.
Я совсем ебанутый? или может упустил что? или вообще нужно строкой посылать всё?
Попробуй передать фейковые браузерные хедеры, также возможно нужно сделать один get реквест и записать куки в CookieJar, затем в пост их тоже передать. Как-то так выглядит это у меня.
В функцию requests.post(headers=headers, params=payload, cookies=(аутпут CookieJar))
Сори я спать.
Сериализованный json - это строка.
>>862539
>Я совсем ебанутый?
Да.
Если у тебя паранойя и ты боишься показать запрос полностью, то разбирайся сам.
И почему ты решил что надо отправить json?
Хинты на то и хинты, и не влияют на выполнение программы. Они в данный момент лишь для сторонних тулз.
Грустно, а я уже раскатал губу...
>>862627
Мне наоборот тайп-хинтинг нужен. Как выяснилось, даже в 3.5.2+ он неполный.
Мне на ум приходят декораторы, либо же сделать класс, но, может быть, есть более элегантное решение?
Пример: http://pastebin.com/v9nVDQZ3
Если все функции отличаются только словарём, то нужен тупль (имя_функции, словарь). А в ините его setattr с помощью кложуры.
Вот да, как-то так тоже можно, но думал, может есть что-то, что я упускаю.
>>862715
А можно чуть подробнее и, было бы отлично, с примером. Последнее предложение я не очень понял.
Да там и ChainMap не нужен, кстати. Просто update хватит.
Читаю и не понимаю одного. Нахуя?
Скриптоёбы изобретают статическую типизацию? Ох лол
Уже третий месяц изучаю питон, начинал с Доусона с его играми, втянулся - написал пару простеньких игрушек. Затем начал разбираться подробнее (лямбды, регекспы, декораторы), написал даунлоадер манги на BeautfulSoup/пару скириптов, которые тянут аргументы из командной строки и используют для поиска в интернетах/отправки писем. Сейчас пробую в бложик на джаного.
У Джунов-питонистов конкуренция в ДСах 80 человек на место. О своих шансах можешь судить сам.
>>862922
да нормально там устроиться, ходи на собеседования, в майлру! рамблер и прочие ебы тоже ходи - полезно будет узнать чего от тебя хотят. точи те навыки о которых спрашивают, напиши нормальное - подробное резюме, пополняй свой гитхаб.
php
сделай свой даунлоадер многопоточным\асинхронным, приебашь к нему веб морду с показом статуса скачивания, прогрессбаром.
>>862944
по поводу резюме. резюме читают hr, поэтому пиши для них, соотношение писанины HR\TECH должно быть примерно 80\20. а в конце просто списком использованные технологии\языки\йобы - ПО ПРОЕКТНО.
и ОБЯЗАТЕЛЬНО! дай твоей мамке, твоей тне, какому нибудь васяну, резюме на вычитку.
да, тебя и твоих друзей пригласят на собеседование
на фоне "сап двач зачем нужен return!? а как из списка сделать словарь!?..." доунлоадер манги, блять, просто спутник на нибиру.
Типикал резюме обитателя этого треда
Привет, работодатель, я, кароче, 3 месяца покодил по книжке, написал даунлоадер манги, возьми меня.
>>862989
талантливых, усердных джунов берут. откуда по вашему появляются мидлы? родились с багажом знаний и крутым гитхабом?
Таких только трое и то не из этого треда. Тем более мы не знаем их возраст.
Привет, работодатель, вот я 10 лет ради тебя учился, MIT, стартапы, коммиты хуе-мое. Могу что угодно и как угодно из коробки, возьми меня джуном.
Типикал резюме обитателя твоего манямирка
Тут не поспоришь, с удовольствием бы взял такого джуна. Хорошо бы еще за еду работал. Качественно и в срок.
Не покажешь вакансию или хотя бы требования. За 70 т.р. готов быть талантливым и усердным.
Я просто сейчас гляжу вакансии, да, есть и "до 70000" и даже больше. Вот только везде требования опыт работы от 1 года (и даже 2-5) и куча всего. Такое подозрение, что работодатели хотят нанят помидора за цену джуна.
>>863024
Даунлоудера для манги недостотаточно?
достаточно если он многопоточный и есть к нему вебморда. обычным однопоточным скачивателем никого не удивишь нынче. на фронте желательно react\angular\...
опыт работы желателен, но для джуна необязателен. откуда ему взяться то у джуна?
>откуда ему взяться то у джуна?
Откуда мне знать, не я эти вакансии размещал.
>на фронте желательно react\angular
Погоди, разговор был про python junior, а тут фуллстек нарисовался, js-фрейворки какие-то. Не много ли для джуна, у которого опыта работу неоткуда взяться?
пишут - 1 год, читай как возьмем и джуна.
ну а как ты гуй то будешь рисовать своей проге, а?
ангуляр учится за месяц. кстати, добавь туда умение развернуть свой проект на продакшене, нет это не ansible, docker - (хотя было бы хорошо), ..., а по ссх задеплоить, настроить посгри, нджинкс, днс серверы. тупо начальный уровень. - еще один месяц. и того: 2 месяца что бы подтянуть минимум - много?
Ты говорил, что берут талантливых и усердных, а теперь оказывается, что необходимо знать несколько языков, фреймворков и иметь опыт системного администрирования. Я уже не уверен, что тебе можно верить.
Но на самом деле, было бы интересней узнать вот что. Ты написал
>по моему опыту, 70тр стоит
Не мог бы про свой опыт написать, сколько лет работаешь, сколько зарабатываешь, сколько работал джуном, пока на должность мидла не взяли, как устраивался? Вот это очень бы помогло, а то я не представляю как это все происходит.
в дс приехал с тем опытом что описал выше, до этого 2 года работал и собственно получал этот опыт. написал резюме на хедхантере, засылал его всюду, ходил на собеседования - полтора - два месяца. в рамблере было тестовое задание написать многопоточный аплоадер с вебмордой, я до этого асинхронный код не писал, и было по началу трудно вкатиться - проебал сроки, но задание сделал на торнадо, положил на гитхаб, попутно все так же ходил на собеседования и делал отклики на вакансии. что примечательно, мне просто позвонили, я не делал отклик на их вакансию, сами меня нашли.
выше описанные навыки - минимальные - их должно хватить что бы ты написал прогу с гуем и развернул ее на сервере, вот и все. ангуляр\реакт необязателен.
Спасибо, это намного интересней. А как первую работу получил? И сколько сейчас зарабатываешь?
>>863051
Бывает и хуже: я не учил джанго, но умудрился написать на нем рабочее приложение.
Как что? Вьюшки, формы, прочую хуйню. Я вот даже через год не понимаю, как устроены запросы, че это за хуйня вообще. Так что мне пора на завод, гы-гы. Если родился тупым, то все тщетно.
работал в перди эникеем 2 года, попутно вкатывался в питон. потом заебало и захотелось посмотреть что за дс такой - съездил на полтора года. сейчас вернулся в пердь, взялся за разработку местного сайта за 40тр и пилю по тихой, пока что нет желания и сил полноценно впахивать. но думаю, когда захочу, без особых проблем найду удаленную работу. этот дс опыт был очень полезен.
ты дебагером умеешь пользоваться? если нет, то попробуй - много нового узнаешь, если да, то поставь точку останова в своей вьюхе, миддлвари, форме, методе модели... и иди по шагам - многое прояснится.
Да ты гонишь
Я хуй знаю, наверни стандартное комбо из головатого + django by example + test driven development with python + 2 scoops of django
осилит даже говно какое-то типа хохлов с волыни у которых потомственный йододифицит и диагноз у/о у 30% населения старше 55
А чего вернулся, фирма прикрылась? Ну не знаю, с опытом в несколько лет работать за полставки джуна, звучит странно.
Спасибо за рассказ, замотивировал. Пойду посплю.
я там проект писал, написал и дико устал, заебался натурально, вот и съебал отдохнуть. тут семья, родное все, заебись вобщем как на курорте вялюсь) а в дс надо ебашить, фу не хочу, потом... тут в перди 40 как в дс 80, да и за угол платить не надо. сычуй, пиши сколько вздумается, мамкины пироги хавай) да не, конечно это скоро опять заебет и я либо рвану туда либо тут удаленно.
> тут в перди 40 как в дс 80
Чё у вас реально для айфона своя цена?)) ебать круто)) В мухосрансках только хаты дешевле.
Айфон тебе нахуй не нужен, тебе нужны понты, которые он вызывает, и в мухосранске айфон это наамного круче, чем в Москве. И так в остальном.
у меня нет смартфона. нахуя он нужен не в дс не пойму тоже.
>задание написать многопоточный аплоадер с вебмордой
>задание сделал на торнадо
Я смотрю, у тебя многопоточность и асинхронность одно и тоже.
В бд разбираюсь посредственно.
просто а базу
А ты и на заводе не сможешь ничего выучить. Начнут учить на станке работать - а там программы писать надо, корректировки вносить. Скажешь "В пизду ваш завод" и пойдёшь дворником.
да и дворником не сможет. начнет работать скажут "завтра в 6.15 на пиздюково 666 двор мести", а он придет в 6.66 на пиздюково 615 и скажет да ну ваш двор! придется в футболисты идти.
>
>>863425
Блин, ну чуваки. Я, конечно, не прям год учил, но по прошествии приличного количества времени максимум, что я могу написать - это бложик и интернет магазин без аякса, поскольку мне лень учить джаваскрипт. Я нихуя не выучил за год. Я идиот.
а он и в футболисты не сможет. придет, напинает 14 в свои ворота, а негры еще 88 добавят, и скажет да ну ваш футбол. но после этого уже только в 1с.
>Project site - http://bitbucket.org/jurko/suds Epydocs documentation - needs to be built from sources
сложна
Не переживай - ты еще довольно быстро учишься.
Я первый сайтик на джанго в 2012 написал и с тех пор так ничему толком и не научился, хотя и пофрилансил немного
я по этому делал
Потрясающая идея. Только делай фронт без js, ибо некоторые ставят noscript и тому подобные плагины.
Борда без скриптов хуйня же. Как yob'у крутить т прочую хуйню? На голом хтмл и ксс чтоле?
Потому что носкрипт.
Но ты его не слушай, он дебил.
ЖС для нестатики нужен, конечно.
Такова жизнь.
Кому-то - тебе - и говно жрать норм.
Если сайт нужен то носкрипт для него отключается. А если нет - то не нужен, значит.
Нужен не сайт, а контент. Для отображения контента js не обязателен. Ты кроме визгов чем-то можешь аргументировать свою точку зрения?
Нет проблемы в js на самом деле, но надо хуячить так что бы и без js работало как минимум. Никогда не знаешь с какого древнего андроид-3 будет васян заходить.
Ты дурачок же, я тебе о том что читать могут с любого говна и свой контент хоть в каком-то виде получить должны - ты мне о каких-то анонимусах и прочих.
То есть аргументов, кроме ad hominem, у тебя нет, ок.
>>863834
Не обращай внимание, это он мне. Ты все правильно сказал, js нужен там, где ему место. И если человек приходит за контентом, он должен иметь возможность его получить и без js.
>>863836
>Всем похуй
Я повторюсь: даже эта борда работает без js.
>он должен
Лох должен всем и всегда, это точно.
>работает
Пердоля, please.
А ЖС уже везде и это навсегда. Рекомендую в знак протеста резать вдоль.
А я в свою очередь рекомендую тебе прочитать про WebAssembly, подумать как он может повлиять на веб и высказать свое мнение в js-треде.
Посмотрим что твой PM скажет, один хуй он принимает решения же.
>как он может повлиять на веб
Усугубит тенденции обозначенные ЖС, разумеется.
Ну и поехавшие пердолики - вроде тебя - совсем уедут, ибо без клиентсайда не будет работать вообще ничего и нигде.
>PM скажет
Ничего я не скажу, статистика и так понятна.
Нище, пердо и прочие дебилы без жс просто не нужны - 1.5% же, так-то.
может теперь он уйдет
>рефрешит страницы после каждого пост запроса
Так вот куда перетекло все говно с пыха - на питухон.
двачую этого эксперта. так же рекомендую pandas!
project/urls.py
urlpatterns = [
..url(r'^login/$', auth_views.login, name='login'),
.... ]
base.html
<form action='{% url "login" %}>
<input ....
и не пашет
Пыходебилы, пыходебилы never change.
i18n + rosetta?
+django-modeltranslation, если надо модели переводить
ищи способы иначе идентифицировать пользователя. ip, user agent, etc.
Привязка к мобильнику.
bolshemenshe(*map(int, str.split(input())))
Как-то так:
first = int(input()) # получаем первое число
second = int(input()) # получаем второе число
bolshemenshe(first, second) # вызываем функцию
“Укус Питона” – “A Byte of Python” - Ультрагоднота. Эта книга используется даже в НАСА!
С кодекадеми
С дебагером не интересно же. Да и там не особо сложно.
В итоге в голове какая-то несвязная каша, десятки названий библиотек с разным сахарочком и полное непонимание, по какому же пути тебе надо идти.
Ага, согласен. Документация у питона так себе и хз чего ее хвалят.
Но со временем врубишься, не ссы
тебе дали инструмент, описали, как он работает. Какие тебе еще нужны примеры? Идешь и ебашишь
вот так первый выглядит, из него нужно дёрнуть:
<xml>
<a id='бляди'>
<b id='женя'></b>
<b id='даша'></b>
</a>
</xml>
а в этот добавить так, чтобы теги b отстались бы в a
<xml>
<b id='саша'></b>
<b id='маша'></b>
</xml>
то есть в итоге вышло это
<xml>
<a id='бляди'>
<b id='саша'></b>
<b id='маша'></b>
</a>
</xml>
добавлю, что тег A вроде всегда один в первом документе, и XML не такой хитровыебанный. но не ругуляркой же мне его ебашить?!
да хуйню несёшь
вот есть джанго, в нём приложения
вот у тебя есть менюшка <a href={% url 'hui' %} {% if request.resolver_match.url_name == 'hui' %} class="active"{%endif%} например
ну окей, если урл и правда хуй - то всё пашет. а если урл /hui/pizda/ а тебе тоже надо что бы эта елда подсвечивалась? а вот тут начинаются поиски хуй проссыш по чему и чисто вручную
и уже через пару тройку часов ты конечно знаешь про
request.resolver_match.app_name,
request.resolver_match.namespace,
request.resolver_match.url_name
но сука если бы это говно было сразу где-то по-человечески описано ты бы не ебался вообще мать твою ёб
документация питона сосёт хуи. лучшее что в ней есть - самодокументированные функции .__doc__() которые хуй кто заполняет, остальное блядь тупо алфавитный указатель хуй пойми чего и нахуя
съеби google://python parse xml
АЛСО ХУЕЮ НЕ ИЛЛЮЗОРНО! ВЫ ЧЕ ИНВАЛИДЫ ПОИСКОМ СОВСЕМ НЕ ПОЛЬЗУЕТЕСЬ!?
ну ёба, как парсить оно понятно, как обернуть нужную соплю вокруг определённых тегов, нет.
https://docs.djangoproject.com/el/1.10/ref/urlresolvers/#django.urls.ResolverMatch
есть же описание аргументов функции, возьми сука и попробуй в них что нибудь передать и посмотри результат. в чем проблема то?
>>864670
скопируй блять элемент, вставь сука элемент
я догадывался.
>>864806
>>864670
>>864658
опять я, да.
короче я уже могу найти и схоронить нужный тег А из первого xml. я уже могу найти всех детей с нужным тегом из второго xml.
но как всех детей обернуть нужным родителем, да ещё так, чтобы всё остальное осталось целым, вот это у меня не получается.
Как мне ассоциировать эксперта с определённым логином?
Делаю по учебнику бложик, дошел до комментов. При отправленном комменте - вместо формы появляется надпись "Вы оставили комментарий". Пример из учебника не работал (в шаблоне стояло if new_comment) - непонимать, как шаблон должен был о нем узнать. Я это сделал через sent, который предается шаблону если форма заполнена - все заработало. Так и должно быть или я костыль придумал и есть более правильное решение?
И еще: если рефрешнуть страницу после отправки коммента - появляется предупреждение о повторной отправке. Принять - снова отправиться коммент, отменить - страница не перезагрузится. Что с этим можно сделать?
Код:
http://pastebin.com/pm6WLNFs
после сохранения коммента редирект дописать, не?
> (в шаблоне стояло if new_comment) - непонимать, как шаблон должен был о нем узнать
Пример не видел - не знаю что там с ним не так
Ты можешь использовать встроенный Django messages framework для того, чтобы отображать сообщение об успешной отправке формы
Вот пример http://stackoverflow.com/a/38897952/5201699
> если рефрешнуть страницу после отправки коммента
После отправки формы можно делать редирект на эту же страницу
Вот пример http://stackoverflow.com/a/35796559/5201699
Это все тебе нужно добавить после строчки new_comment.save()
> После отправки формы можно делать редирект на эту же страницу
> Вот пример http://stackoverflow.com/a/35796559/5201699
Работает, но тогда не появляется сообщения об оставленном комменте
Спасибо за ссылки, попробую что-нибудь придумать
Потому и используй django messages
Нет, я в джангу вкатился только со знанием питона и html/css
Но скажу спасибо, если подскажешь в какую сторону искать
jquery, json, ajax
yield line.decode('utf-8').lower()
Что с ней?
http://pastebin.com/18aaLQwu
>>865325
book_date - это у тебя DateField?
Возможно, как-то так: filter(books__book_date__year = 2016) ?
Но вообще я не понимаю твой запрос. Получается, что ты ищешь авторов, у которых есть книги, написанные в 2016?
При этом, у каждого автора может быть много книг и тогда должно быть что-то типа book_set.all, если у тебя книга имеет внешний ключ на автора.
Короче, хз. Покажи модели и скажи что ты хочешь сделать.
>>865334
Тоже не ясно какая у тебя проблема и что ты вообще пытаешься сделать.
http://pastebin.com/JLdRErZt
Получить все даты подряд + чтобы от каждой даты я имел только определенного автора, как бы сделать селект.
dates = Dates.objects.all().filter(lessons__name = 'Толстой')
Пока писал пост, начало доходить, что в данном случае что-то не то, не могу дать реальные данные.
Если немного подругому объяснить, я хочу из первой таблицы, помимо получения всех значений, отсечь все, кроме толстого из результата.
не lessons конечно-же, а authors
Если тебе нужны даты, то запрос ты написал правильный, вроде бы.
dates = Dates.objects.filter(authors__name = 'Толстой')
Так ты получишь даты: 2000, 2001 и 2003
А я могу каким либо образом получить не даты, а кверисет с таблицей авторов? По заданному фильтру к каждому объекту даты? Чтобы в шаблоне было чтото типа
for date in dates:
for author in date.authors
some shit
Но чтобы авторы отдались именно по фильтру? В нынешней реализации моей, если я делаю такую пробежку, то получается не пойми что, все данные вперемешку, т.е. к толстому он мне может еще отдать другого автора и тд
ну охуеть теперь
и проще и лучше - правильно.
а ты чего хотел то болван!? какой вопрос такой ответ)
authors = Authors.objects.filter(name='Толстой') ?
А ты со схемой не перемудрил, случайно? Зачем делать отдельную таблицу для дат? В таблице авторов у тебя Толстой встречается несколько раз, хотя, возможно, он должен быть уникальным?
Приложение про авторов и их книги постоянно используется во всяких туториалах и делается так:
class Author(models.Model):
....name = models.CharField()
class Book(models.Model):
....author = models.ForeignKey(Author)
....title = models.CharField()
....year = models.DateField()
и все, фильтруй как тебе угодно..
>>865504
https://docs.djangoproject.com/en/1.10/topics/http/file-uploads/#uploading-multiple-files
Проебался с первым скрином, вот нормальный.
views.py
def add_news(request):
..form = AddNews()
..if request.method == "POST":
....form = AddNews(request.POST, request.FILES)
....if form.is_valid():
......form.save()
......return redirect('/')
....else:
....form = PostForm()
..return render(request, 'news/add_news.html', {'form': form})
models.py
class New(models.Model):
..title = models.CharField(max_length=140)
..added = models.DateTimeField(auto_now_add=True)
..picture = models.ImageField(upload_to='news_images', blank=True)
..link = models.URLField()
forms.py
class AddNews(forms.ModelForm):
..class Meta:
....model = New
....fields = ('title', 'picture', 'link')
add_news.html
<form method="post">
..<p>{{ form.title }}</p>
..<p>{{ form.picture }}</p>
..<p>{{ form.link }}</p>
..{% csrf_token %}
..<button type="submit">Добавить</button>
</form>
views.py
def add_news(request):
..form = AddNews()
..if request.method == "POST":
....form = AddNews(request.POST, request.FILES)
....if form.is_valid():
......form.save()
......return redirect('/')
....else:
....form = PostForm()
..return render(request, 'news/add_news.html', {'form': form})
models.py
class New(models.Model):
..title = models.CharField(max_length=140)
..added = models.DateTimeField(auto_now_add=True)
..picture = models.ImageField(upload_to='news_images', blank=True)
..link = models.URLField()
forms.py
class AddNews(forms.ModelForm):
..class Meta:
....model = New
....fields = ('title', 'picture', 'link')
add_news.html
<form method="post">
..<p>{{ form.title }}</p>
..<p>{{ form.picture }}</p>
..<p>{{ form.link }}</p>
..{% csrf_token %}
..<button type="submit">Добавить</button>
</form>
С админки при этом отлично загружается, я тупо не могу понять в чём разница ёпта
http://www.parallelpython.com/
https://docs.python.org/2/library/multiprocessing.html
Cython + OpenMP
хлопчики, я с этой ебалой ебусь уже часа четыре, ну подскажите чё если сможете, что ли.
Пример из документации:
import getpass, imaplib
M = imaplib.IMAP4()
M.login(getpass.getuser(), getpass.getpass())
M.select()
typ, data = M.search(None, 'ALL')
for num in data[0].split():
typ, data = M.fetch(num, '(RFC822)')
print('Message %s\n%s\n' % (num, data[0][1]))
M.close()
M.logout()
Что такое typ и зачем оно нужно?
заход на страницу должен просто показывать пустую форму,
если форма заполнена и отправлена - показывать результат.
Шаблону передаются 4 параметра, но если форма показывается в первый раз - трех из них нету (referenced before assignment), выдает ошибки.
Я это решил присвоением им None до начала ветвления, но меня не покидает ощущение, что я костыли придумываю.
Код:
http://pastebin.com/Z84u56he
Python 2 же
Тут такое дело. Мне в связи с определенными обстоятельствами надо было почитать пару книг по пентесту с пайтоном. Программистом назвать себя не могу. Но чета умею. Приходилось на бытовом уровне работать с плюсами джавкой. После сией литературы и небольшой работы ПОнравилось в пайтон. Азы я знаю (наверное). Детские курсы на кодкедеми прошел по питончику спокойно. на кодварс дошел до 6-5 лвл. Хочу попробовать запилить домашний проэктит какой-то. На джанго. С последним дела не имел. Понимаю, что тут половина крытх, но все таки. Что подскажешь, анон? может подкинешь идейку для прожекта? Посоветуешь как начать и с чего. Ну ты понял. Нужна мне помощь твоя.
Люблю. Целую
Нужно хранить информацию о запросах пользователей. Что для этого лучше использовать, xml, json или просто массив?
Читни django by example там сразу кучка проектов не могу даже сказать что примитивных, таких, почти Лоу левельный продакшн, и где в каждом пара современных фишечек реализовываются. Поймёшь и Джанго, и что делать на нем можно, и как.
>может подкинешь идейку для прожекта?
Сделай нормальный блог-движок со следующими фичами:
экспорт блогов в pdf или какой-то другой формат удобный для чтения на ебуке/планшете
концепция серии блог-постов. Некоторые пишут тутоиалы или что-то ещё в нескольких частях, но искать их по сайту неудобно. Нужно, чтобы эти серии постов тоже можно было сохранить в один клик в pdf/epub/whatever
нормальное содержание сайта, в котором видны сразу все серии и отдельные посты, а не ублюдочное содержание в виде дерева-календаря, в котором нужно сначала открыть год, потом месяц, в которм всего одна запись. Со страницы содержания, естественно тоже должна быть возможность сохранить посты и серии как файлы, просто проставив галки, что именно сохранять.
отдельные rss фиды с новыми постами, обновлениями старых постов (часто же с существующую запись, что-то добавляется или что-то изменяется в ней), новыми комментариями к посту или новыми ответами в какой-то отдельной ветке комментов
>>865848
Спасибо за помощь котята.
Ещё такой вопрос. Самое сложное, что всегда возникало, это вопрос типа "а как начать, с чего начать". Не поможешь с этим? Ну типа смотришь на Тикет и думаешь " а как это реализовывать". Думаю ты поймёшь о чем я, если вспомнишь себя в молодости. Если начать гуглить то будут просто гайды уровня копипаст. Что как по мне бездумно. А я хотел бы разбираться и клепать сам. Чем подскажешь в этом направлении?
Я просто переписываю примеры из книг пока не врублюсь. Вполне сносно работает.
Ну и для файрфокса есть расширений printedit, которое позволяет в pdf печатать. В Линуксе так вообще это на уровне ОС сделано - в системе есть виртуальный pdf-принтер. Но при этом получаются практически нечитаемые pdf-ки: в них типа скриншота сайта, где большая часть страницы занята всяким бесполезным говном, типа содержания сайта, а собственно сам контент занимает по ширине в лучшем случае треть страницы. Нужно, чтобы именно генерировались файлы только с содержимым блога. Чтобы текст занимал всю страницу и не было ничего лишнего - как в книге.
>>865872
Я пользуюсь.
Не пойму, чего тебе так припекло?
djbook.ru
Анон, который дал сей прожект. Если ты не сверхзанят и тебе не впадлу. Есть желание оставить контакты, дабы я тебя в дальнейшем позаебывал по мере?
Придумай себе проект. Начни выполнять. Начни заново. Забрось на недельку. Начни заново. Изучи клиент-серверную архитектуру. Начни курить какой-нибудь фронтенд-фреймворк(ангулар и т.д.). Научись наконец читать документацию. Напиши более менее сносное приложение. Осознай что в коде бардак. Присмотрись к тестированию. Забей на него хуй. Присмотрись к тестированию пристальнее. Пойми что оно сэкономит тебе кучу времени. Научись деплоить(рекомендую докер). Пойми что не учел многих вещей. Осознай, что избежал бы многих ошибок, если бы читал чужой код. Начни читать чужой код. Пойми что ты недалек. Напиши нормальное, покрытое тестами API для простейшего блога. Возьми какой нибудь эмбер, чтобы быстро сваять прототип приложения для клиентской части. Опусти руки от бессилия перед убожеством и сложностью мира фронтенда. Подумай о том, чтобы начать использовать шаблоны и вьюхи от джанго. Пойми что это тоже не выход. Начни заново. Пойми что API не так уж плох и его можно не переписывать. Сделай клиент. Научись настраивать nginx. Купи недорогую виртуалку. Запусти свой говнокод. С новой информацией продолжи свой путь.
Если ты вопросами по Джанго хочешь позаябывать, то я о ней нихуя не знаю. Это я просто написал чего мне не хватает в том же жж с позиции читателя.
>>865936
"Программмируем на Python" - это ж вроде тупо перепечатка референса по стандартной библиотеке. Никаго смысла читать её нет.
Сам я вкатился самым неакадемичным образом - взял документацию джанги и начал ваять, внимание, ИНТЕРНЕТ-МАГАЗИН.
Затея оказалась так себе. Потратил много времени впустую, как мне после показалось, из-за незнания ООП, функционалки, стандартной библиотеки.
Со временем, я заполнил пробелы в знаниях, и понял, что если бы начал свою учебу с "сухого" чтения лутца, то пользы было бы мало. Не было бы понимания того, как все это применять.
Сейчас я бы посоветовал себе-новичку, найти человека, который бы на пальцах рассказал что происходит. Если бы я мог написать самому себе, я бы в первую очередь объяснил новичку, как работает pip и virtualenv. После этого функции - уверенное знание циклов, условий, проверка получаемых данных и обработка исключений. Далее map, reduce, filter.
Перед тем как перейти к джанго, нужно разобраться с HTTP, покурить requests, понять какую инфу просит сервер и что он отвечает. Как вариант, заняться парсингом сайтов или их api. Взять redis/elasticsearch например, сохранить результаты, или писать в файл, что угодно(вот вам кстати хорошее видео: https://www.youtube.com/watch?v=K3AQsepkoZg).
Потом уже переходишь к flask/django. Прежде моделей играешься с вьюхами. Изучая модели, вместо ковыряния в админке, юзаешь shell, пользуешься встроенным фреймворком для тестирования, логируешь результаты, чтобы не мыкаться вокруг мелких проблем и не сносить базу по 100 раз в день.
Учишься использовать docker. Возможно кто-то сейчас будет кукарекать что докер хуйня - мне похуй. Бери докер и изучай. К тому времени ты уже большой мальчик, прочтешь доки и все поймешь. Мне плевать можно докеру в продавшей или нет - времени сэкономит очень много и позволит прокатить свой проект в условиях близких к боевым.
Потом скорее начинай изучать REST Framework.
Буду пока фронт пилить и думать что делать с этим всем.
Где прочитать про хттп, реквесты и т.п.? А то я странно себя чувствую: я написал блог и интернет-магазин на джанге, они работают, багов нет, все в тестах, но я не понимаю, какого хуя они работают, и как они работают.
В гугле, дружище. В первую очередь гугли, если возникает вопрос. Желательно на английском.
троллинг это хаскель и питон-2-ёб и лёрн зе пайтон хард вей
а "думай, питон" это 10 из 10 круче только сикп
И чем он крут? Судя по содержанию, это просто вводная книжка для полных нубов. Если человек уже читал "Учим Пайтон" Лутца, зачем он нужен?
Тем что если укус и прочие учат синтаксису, синк - применению. Большая часть задач просто прикольные, а после них знаешь где тебе что-то похожее сможет понадобится. Мне как недоучке который в 2006м на пхп4 кодил и забросил, но интересовался изредка эта книга помогла разложить по полочкам вообще все связанное с программингом. И я тоже ее читал после кодекадеми, укуса и лутца.
скорее по тому как делать прожэкт и по пайтону.
Я больше ориентируюсь на углубление изучения пайтона.
А чем хорош? Куцыми примерчиками и попыткой впарить видеокурс? Говняшной мотивацией превозмогания? Говно.
я прочитал почти всю литературу для новичков что была и меньше всего мне понравился хард вей
укус и нырять - норм, лутц - справочник (и я не ебу нахуя вы его читаете, а не заглядывате в него иногда), доусон - ну если тебе проще об игорях думать пытаясь учить программинг - вполне вариант, всякие русские авторы - тоже в целом жить можно. а хардвей самое бесполезное говнище ссаное какое можно придумать. НАПЛЮЙ НА ВСЁ УЕБИ НЕДЕЛЮ ИЛИ МЕСЯЦ ИЛИ ШЕСТЬ ЛЕТ НО САМ НАПИШИ ЭТУ ССАНИНУ СРАНУЮ ТИПА ЗАПИСНОЙ КНИЖКИ (вроде) - ну что это за хуйня ёб вашу мать. и такого шлака там половина.
Об этом недоразумении вообще разговаривают только потому что оно бесплатное, на западе где пиздить книжки намного сложнее это конечно актуально, а в наших реалиях и повеселее чего найти можно за ту же цену.
>Я больше ориентируюсь на углубление изучения пайтона.
Fluent Python по-моему неплохая книга. Вроде есть даже уже перевод.
какое наличие инфы, лол, что хард вей, что вглубь, что укус - всё это брошюрки что бы быстренько тебе чёто-там показать что типа кодить это просто и вот смотри полтора принципа
синк в этом плане пообъёмнее будет, смысла там больше и излагается он последовательнее и в достаточном объёме хотя бы для начала
короче не рекомендую хард вей насколько могу что-либо вообще не рекомендовать
"dive into python' если не было, вот эта еще http://composingprograms.com/ ну и http://scanlibs.com/python/
anus.py
Да в залупелери она, в том то и дело. Воркер будет лежать на хероку, там и целери (+ еще и брокер), и скедьюлер -- платные. Поэтому воркер просто разбит на функции, которые будут запускаться периодически через https://github.com/dbader/schedule , например. Или может осилю https://github.com/Koed00/django-q . Но сам скрипт будет работать на постой. В общем вся эта ебала будет жрать часы проц-времени (dyno-hours) 24/7. А их 550 в месяц (~23 дня). Соответственно, 23/2 (worker+web)=11 дней работы в месяц.
Плюс в том, что Postgres на хероку выделяется напрямую в Amazon, а не висит в локалхост. Соответственно, можно ебнуть воркер на отдельный акк Heroku и получить 23 часа актива всей приложухи, почти наверняка нарушая при этом ToS.
Может тут кто-то умеет готовить хероку. Подскажите как что оптимизировать.
нда, сложный какой то хост. никогда я этими поделиями не пользовался, а покупал vps.
Сам бы рад, но у меня через карман хуй просвечивается. Нужен доход от сайта чтоб он хоть окупал свое существование в ноль.
Скорее нет чем да xD.
Пикрелейтед мои ресурсы в наличии. При том что я тут же и работаю, и отдыхаю. Плюс если нарисуются не-хакеры-а-пентестеры то мои личные данные станут достоянием интернета.
Хех, комично выглядело бы. Владельцы ресурса оплачивают парсер своего же шучу, общего контента.
app/forms.py
class FeedBackForm(forms.ModelForm):
..name = forms.CharField(required=True)
..mail = forms.CharField(required=True, widget=forms.EmailInput(attrs={'class': 'validate'}))
..message = forms.CharField(required=True)
..class Meta:
....model = FeedBack
....fields = ('name', 'mail', 'message')
app/context_processors.py
def feedback_form(request):
..form = FeedBackForm()
..return {'form': form}
app/views.py
def handle_form(request):
..if request.method == 'POST':
....form = FeedBackForm(request.POST)
....if form.is_valid():
......form.save()
......return HttpResponseRedirect('/')
....else:
....return 'Ошибка введённых данных'
template
<form class="form" role="form" method="post" action="/feedback/"> - тут app = feedback, app url = 'feedback'
..{% csrf_tocken %}
..{{ form.as_p }}
..<button type='submit'>Submit</button>
</form>
Ошибка:
The view feedback.views.handle_form didn't return an HttpResponse object. It returned None instead.
app/forms.py
class FeedBackForm(forms.ModelForm):
..name = forms.CharField(required=True)
..mail = forms.CharField(required=True, widget=forms.EmailInput(attrs={'class': 'validate'}))
..message = forms.CharField(required=True)
..class Meta:
....model = FeedBack
....fields = ('name', 'mail', 'message')
app/context_processors.py
def feedback_form(request):
..form = FeedBackForm()
..return {'form': form}
app/views.py
def handle_form(request):
..if request.method == 'POST':
....form = FeedBackForm(request.POST)
....if form.is_valid():
......form.save()
......return HttpResponseRedirect('/')
....else:
....return 'Ошибка введённых данных'
template
<form class="form" role="form" method="post" action="/feedback/"> - тут app = feedback, app url = 'feedback'
..{% csrf_tocken %}
..{{ form.as_p }}
..<button type='submit'>Submit</button>
</form>
Ошибка:
The view feedback.views.handle_form didn't return an HttpResponse object. It returned None instead.
по русски написано же, твоя вьюха не возвращает HttpResponse объект, а она должна.
> return 'Ошибка введённых данных'
Нужно возвращать HttpResponse объект.
return HttpResponse('Ошибка введённых данных')
И если request.method == 'POST', то ок, но если GET, то ничего ты не возвращешь вообще, так?
Дописал, ничего не поменялось.
Форму я отдаю через контекст процессор, через гет как я понимаю он и не должен ничего выдавать - только рисовать форму, что он и делает
Эмпирически выяснил что если я через else (от пост запроса) return render( .. ) - то оно просто по адресу малюет форму
Вообще это всё странно, до того как я шаблон поменял на другой всё работало в том первоначальном виде ._.
>....return 'Ошибка введённых данных'
Заверни это хоть в HTTPResponse, стринг возвращаешь, охуеть просто. Ясен член не дождется никто респонса из вьюхи.
Да как не помогло-то ебта.
HTTPResponse(request, 'anus').
Ты верно все ввел? Значит смотри вилки условий до тех пор пока не убедишься что везде возвращается респонс объект.
Пусть
s = ['a', 'cc', 'bbb']
s1 = s.sort() - хуйня, отсортирует просто s, понятно
но чому не работает s1 = s[:].sort()?
можно это в две операции сделать, но хотеть в одну
его не завезли?
Да блядь где у тебя условие для 'GET'? У тебя вьюха отдает респонс только на POST.
Ок, сам нашел:
s1 = sorted(s, key = ...)
Но таки все еще не понимаю, чому s1 = s[:].sort() не работает
так s[:] возвращает мне копию s к которой сразу применяю sort() и записываю в s1.
В каком моменте я ошибаюсь?
да я понимаю, что sort() просто сортирует лист. Я не понимаю, почему к s[:] нельзя сразу sort применить
кажется после джанги с его фильтрами я немного поехал
Ок, можно как-то в одну строку записать создание копии + сортировку? (кроме sorted)
Метод sort листа делает сортировку на месте. Возвращает None.
Только не забудь, ламерок, что copy просто кладет в новый клон ссылку на объекты из исходного. Поэтому, если ты изменяешь объекты во втором списке, то в первом они тоже будут изменяться - ведь оба списка указывают на одни и те же объекты.
Плохо быть ламером.
но он может использовать deepcopy. или вместо мутабельного list использовать иммутабельный tuple
Может быть, может быть. Все может быть...
>865278
а ты хорош, спасибо!
а с xml.etree.ElementTree это будет работать, чтоб лишнюю библиотеку не тянуть?
> Только не забудь, ламерок
> Плохо быть ламером.
Джун заехал в тред
@
Увидел знакомое слово в вопросе
@
Cам вопрос не прочитал
@
Выдал истину уровня "земля круглая"
@
Чтоб точно зауважали, пару раз унизил спрашивающего
@
На ответ выдал еще одну квазиумную фразу
Забыл исходники
http://pastebin.com/RRzctSze
http://pastebin.com/qnFJk0uQ
сделал за 5 минут на коленки просто для примера
>Как заставить эти две программы играть друг с другом
Ну ты жжёшь!
>сделал за 5 минут на коленки
Ну ты уж давай как-то поаккуратней в следующий раз..
По теме ничего не смогу подсказать, извини.
Ты находишь это смешным?
Вкатился на кодварс, наткнулся на задание
> Description:
> If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
> Finish the solution so that it returns the sum of all the multiples of 3 or 5 below the number passed in.
> Note: If the number is a multiple of both 3 and 5, only count it once.
я туда закинул
res = reduce((lambda x,y: x+y), list(filter(lambda x: x%3==0 or x%5==0, range(number))))
потоп посмотрел лучшие ответы:
res = sum(x for x in range(number) if x % 3 == 0 or x % 5 == 0)
и охует от того, насколько я все усложнил
Будет, но результат получается немного другой.
Я не смог заставить pretty print работать, как надо.
И оно как-то херово отображает тег <b> - одним тегом, а не открывающий и закрывающий, как в исходном файле. Даже если задать пустой текст.
Возможно, у тебя получится сделать красиво, потому что я никогда до этого не работал с либой и особо доки не читал.
http://pastebin.com/Pb8SiyhH
Начни лучше с генераторов и встроенных функций
import schedule
import time
def job():
print("I'm working...")
schedule.every(5).minutes.do(job)
while True:
schedule.run_pending()
Функция уже выполнена, он просто дожидается следующего раза, при этом, судя по монитору ресурсов, жрет полпроцессора стабильно. Что не так?
Я бля идиот просто. Нужно было time.sleep(1) добавить после ранпендинга, стековерфлоу подсказал. Щас правда не всосу почему, да и все равно, пойду спать.
Если тебе при этом интересно - да, если нет - нет.
Пролистал сейчас Лутца и что-то охуел с такого способа подачи инфы. Как справочник подойдет, как учебник для реальных знаний - нет. Лучше отложи пока эту книгу и возьми для начала Michael Dawson - Python Programming for the Absolute Beginner.
Шлю тебе воздушный минетик, спасибо.
Что-то я боюсь что в сисадминстве у меня все хуево, так как вечно нужно что-то блядь учить (Сети на уровне CCNA CCNP, базы данный на уровне оптимизации sql запросов, mysql, postgre, mariadb, линуксы, апачи, нгниксы, asterisk, докеры, kvm, bash, perl ВНИМАНИЕ python) поэтому думаю пока продолжать работать с серверами на уровне эникея, попутно уча питон.
Если ничего из этого не выйдет, то, в любом случае, скрипты на змее пригодятся в админстве.
Олсо то что книга 400+ стр это нормально?
Вы нахуя Лутца - Изучаем питон читаете? Вы что, ебанутые? Это, блядь, справочник. Если читаешь что-то или кодишь и не понимаешь - ты открываешь лутца. Если ты на кой-то хуй читаешь лутца и не кодишь при этом - это как свистеть через чей-то хуй, вроде и свистишь, вроде и нет.
ДОБАВЬТЕ В ШАПКУ УЖЕ БЛЯДЬ ДЛЯ ВСЕХ ВКАТЫВАЮЩИХСЯ:
Codecademy > A Byte of Python > Think Python > The Python Standard Library by Example > Fluent Python > Problem Solving with Algorithms and Data Structures using Python > SICP на питоне от Беркли > дальше уже специализации какие хочешь нахуй
dive into python можно добавить, хотя я ни одного сабжа из списка, кроме sicp, не читал, возможно будет лишним.
ныряй та же срань что кусай
Not - первый
And - второй
or - последний
Как в данной задаче правильно рассчитать? Допустим
False or not True and True
Первым делом not true - false, выходит false or false
Потом and и значит false and true = false, а последним or значит
false or false = true?
Правильно?
>false or false
> = false
блять точно. пиздец совсем мозг к концу дня перестал работать. буду теперь в этой хуйне путаться.
Задачу прошел. Вопрос отпадает.
И тебе спасибо, няша.
Насколько я понимаю тут сидит один поехавший хейтер лутца. Правда не очень ясна твоя логика. Лутц крайне пиздат для ньюфага. Каждая деталь разобрана и описана максимально понятно. Ньюфаг рано или поздно столкнется в процессе написания кода с тем или иным вопросом, однако если бы он изначально прочел лутца он бы знал хотя бы что искать. Академия неплоха, однако в совокупности с тем же лутцом была бы очень неплохим подспорьем в процессе учебы.
Норм же читается. В укусе питона вообще ничего нормально не описано. Наброски из блокнота. Кодакодемия для дошкольников. Хуйню короче советуешь только время на изучение одних и тех же основ по несколько раз тратить.
Именно это я и пытаюсь донести, блядь. Что учить по лутцу бесполезно, но дико полезно поглядывать в процессе обучения по чему-нибудь ещё.
Есть класс, в нем в __init__ я сделал пустой list для сохранения некоей инфы.
Дальше по классу есть метод, который возвращает булевые значения, ничего более он не делает.
Как мне эти значения, впихнуть в тот list?
Пробовал напролом, создаю ещё методу, которая делает append(self.метод_нейм), но как и ожидалось, ничего не работает.
Спасибо
В лутце в конце каждой главы есть задачи и вопросы по почитаному не больно сильно отличается от той же академии где 2.5 задания и минимальный набор знаний для новичка. С тем же успехом можно прочесть одну из сотни методичек для новичков в интернете и выполнить тамошние задания а-ля написать калькулятор.
class Klas:
def init(self):
self.l = []
self.l = self.vals()
def vals(self):
...
return values
Эм, а зачем мне он в ините, где он при каждом новом вызове будет опять пустой? Мне нужно, дабы эти значения там хранились.
ну тогда используй аттрибут класса:
class Klas:
l = [] # class attr
def _init_(self, var):
self.__class__.l.append(var)
Вот тут я с тобой согласен, сам ненавижу книги, уважаю только гугл и официальную документацию.
ну вначале пути, все таки пришлось dive into python прочесть - и охуеть от языка в хорошем смысле
Вообще не ожидал, что в этом ITT треде кто-то может писать на джанге. Пили кулстори, как к успеху пришел, мне аж интересно стало.
да какой там успех то епт!?) просто позвонил по объявлению и взял заказ, вот пилю. а так изучаю постоянно питон, вот недавно просек пользу от паттерна фабрика - формы джанги с ее помощью конструирую
спасибо. ты просто бери заказ и делай, не сделаешь - похуй, зато научишься. хотя у меня не сделанных не было, а если бы были то похуй опять же - не на жизнь же ставки)
и еще, старайся брать заказы на один, два балла сложнее твоего скилла, условно. так эффективней.
не, только орм. и монго. до сих пор ебли не было.
Припиздячь к модели товара поле rate с целочисленным значением а потом по вьюхе topshit = goods.objects.all.ordered_by('rate')
Меня интересовала система голосования, а конкретнее, реализация поведения при котором каждый юзер может лишь единожды голосовать за каждый товар
Тебе так нужна психологическая поддержка, чтобы реализовать систему лойсов?
Алсо, есть кто из Positive Technologies или похожих мест? Очень интересует, с чем именно они работают по протоколам/безопасности. Что надо знать, чтобы попасть к ним?
ввожу неправильные данные перекидывает на логин, но сообщение об ошибке не показывает
messages в контекст шаблона передаёшь?
Сорян, код невнимательно смотрел. Не знаю в чём дело.
В HttpResponseRedirect в if`ах request первым параметром засунь, попробуй.
А мессаджи правильно подключены, работают? Проверь что в настройках есть всякие необходимые миддлвари и контекст процессоры
https://docs.djangoproject.com/en/1.9/ref/contrib/messages/#enabling-messages
Если не поможет, то попробуй storage backend поменять. Добавь в настройки MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage'
Спасибо, кажется понял в чем ошибка сейчас буду гуглить решение:
у меня в бэкэнде стоит jinja2, а я и забыл. и сейчас как-то буду прикручивать к ней мессаджес
>django_stackoverflow_trace
хах, походу самая полезная штука на свете
На вот, может поможет. Хотя ты и сам уже наверное нашел
http://stackoverflow.com/questions/30243536/django-messages-framework-with-built-in-jinja2-backend
>хах, походу самая полезная штука на свете
да она у меня что-то не заработала - не стал разбираться и отключил
>На вот, может поможет. Хотя ты и сам уже наверное нашел
Да, этот же вопрос нашел
Надо будет посмотреть че там у Лутца. Хотя, я заметил, что просто чтение со мной не срабатывает.
Укус пролистал полкниги за день - забросил. Показалось, что он как-то по верхам пробегает, хотя и рассказывает о некоторых интересных особенностях.
Еще погружение 2 раза пытался читать с большими перерывами. Последний раз дошел до итераторов, все понял. Прошло 2 недели - забыл все о чем читал. И решил, что нафига читать, если в итоге забываю. Ну не сначала же начинать каждый раз?
Поэтому думаю, что для меня лучше - просто решать какие-то реальные задачи, попутно читая всё непонятное в книгах. Например, мне понадобилось написать проект на джанге и я просто начал писать его и читать Головатого одновременно и мне охуенно зашло. И я помню то, о чем читал или, по крайней мере, знаю как быстро найти эту информацию.
Есть один коротенький код: https://ideone.com/fU98pm
Он работает, но меня раздражает функция periods(). Слишком дохуя в ней переменных на мой вкус.
Ничего лучше в голову не лезет.
Может быть у тебя получится сделать её more pythonic?
print(list(lc_new_owners))
print(len(list(lc_new_owners)))
print(list(lc_new_owners))
[('353', '1')]
0
[]
что тут происходит?
Плохо работать по ночам =(
pip install - это команда для системной оболочки, не надо её пихать в питоновский интерпретатор.
Нужно чтобы алгоритм чекал есть ли строка(string) в двух списках.
Пример:
Xarray=['a','s','d','f','g']
Yarray=['z','x','c','v','b','n',]
strA=str(input())
while strA not in Xarray or strA not in Yarray:
something
Не спеши.
Сначала тебе надо скачать craked_vasyanX2002.django-1.20.1.torrent, потом кейген для него, отключить антивирус, три раза сказать "Я сосу хуй у Гвидо" и запустить django_crk.bat
какое условие-то должно выполняться? чтобы строка была в обоих списках или в любом из?
вместо or and поставь
спешл фо ю
1. Установи питон
2. Установи pip
3. Используй venv http://bfy.tw/8UBZ
4. pip install Django
5. Начни проект django-admin startproject
6. ???
7. Приходи жаловаться, что ничего не работает
Таки pip нынче устанавливается вместе питоном и второй пункт не нужен
качаешь пайчарм
там начинаешь проект на джанго
жмешь в появившемя окне "скачать джанго"
как белый человек начинаешь работу в идешке.
забиваешь на программирование
становишься гей-шлюхой
зарабатываешь кучу бабла
нанимаешь на фрилансе макаку
как белый человек кидаешь его после сдачи проекта
Мысли вслух:
subp = subprocess.Popen(..., stdout=subprocess.PIPE)
while True
subp.stdout.read()
...
socket + select
...
редисы-рэббиты
Не понял. Можешь весь код написать? Он наверняка небольшой. Завтра ещё погуглю что здесь написано.
Специфика моей работы заключается в том что я уже много лет пилю микросервисы разного плана (задолго до того как это стало модным начал, лол).
Таки вот. Хотелось бы узнать что местные змееводы котирую дичайше для разработки хттп-апи. Я вот долгое время использую bottle, ибо просто и хардкорно, плюс ко всему можно если что прямо в скрипт вставить весь фреймворк, благо всего лишь 3000 SLOC.
Микрофрейморков беседа го.
В воркаче есть тред безопасников, там иногда бывает кун из рт, загляни туда.
Что за микросервисы?
Хочу освоить asyncio но не знаю с чего начать. Точнее так, по каким-то туториалам что-то делаю/копипастю и что-то получается, но проблема не решается - я не могу написать нормально неблокирующую херню. Например классика - парсер. 10 ссылок нужно спарсить не блокируя поток. Как это сделать, если await ждет? Нашел несколько разных вармантов один из которых: создать корутины для всех ссылок и передать их в asyncio.wait () и мол они там все запустятся и первая функция, которая завершится - отдаст ответ и тд. Правильно ли это? Блять, я аж бомблю от того что нет нормального описания того, где как и что использовать. Поясните мне, тупому, блять, как с этой хуйней совладать. Если не сложно, знающие аноны, распишите подробно. Буду рад и ссылкам и прочему, но в приоритете жду человеческого объяснения основы этой. Чтоб я точно понимал, нахуя мне этот asyncio и почему и где мне его использовать
Ах да, извините за криворукость, пишу с планшета.
микросервисов не писал, скорее SOA. фреймворков не использовал, а использовал: aiohttp, aiozmq, aioamqp, aiomongodb
ну дак это example
Поясняю - asyncio не панацея и хорошо помогает только если у тебя затык в I/O - ждем ответ от сервера, ждем данные из сокета и тому подобное. asyncio отлично подходит для веба, где большие задержки и затыки.
Когда твой скрипт блокируется на уровне "парсинг страницы занимает 20 секунд", то asyncio никак не поможет - остается выделять парсер в отдельный процесс или запускать на отдельной машине.
>Как это сделать, если await ждет?
>создать корутины для всех ссылок и передать их в asyncio.wait ()
Ты прав, только когда конкретно .wait() вернет, контролируется аргументом return_when
Еще есть asyncio.gather() и asyncio.create_task()
> "парсинг страницы занимает 20 секунд", то asyncio никак не поможет - остается выделять парсер в отдельный процесс или запускать на отдельной машине.
зачем?
> asyncio.create_task()
не?
Не. asyncio это тебе не параллельное исполнение.
В центре asyncio - event loop, который по сути бесконечный цикл, внутри которого каждую итерацию опрашиваются разные файловые дескрипторы на предмет готовности (открыт для записи, пришли данные и т.п.). Если есть какие-то события, вызываются зарегистрированные колбэки. Т.е. только кажется, что корутины выполняются параллельно. На самом деле они выполняются по очереди, просто какие-то временно пропускаются.
Глянь на модуль select
Твой парсер по факту будет то же самое, что и наивный sleep(20) - весь евент луп будет заблокирован.
Потому в asyncio своя версия asyncio.sleep(), неблокирующая event loop.
> "парсинг страницы занимает 20 секунд"
оборачиваем парсинг в корутину и эта корутина становится неблокирующей аля
> asyncio.sleep()
не?
у меня есть парсер.. там задача тяжелая есть - выполняется 15-20 минут - ничего не блокирует.
>у меня есть парсер.. там задача тяжелая есть - выполняется 15-20 минут - ничего не блокирует.
Конкретно прям страницу парсит 20 минут? Что так долго-то? Уверен, что там нет ожидания ответа от сервера или еще какого IO?
Ну ты вообще красавчик.
думается мне ты запутался поясняя, а запутался ты в целесообразности использования корутин, тредов и процессов, на почве не понимания сути той самой целесообразности, а именно в класификации задач по характеру использования ресурсов пеки. есть io bound задачи, а есть cpu bound. дак вот для io bound задач подойдут и треды! при условии, что задача не делает бешенные - условные 10k. ибо при таких количествах io, система начинает очень проседать за счет переключения с треда на тред. вот тогда и нужны корутины. по поводу cpu bound задач. понятно что лучше тяжелую для cpu задачу вынести в процесс.
в рамках этой задачи выпооняется много подзадач по вытаскиванию из инета инфы, в том числе и парсинг вытянутого.
>>867543
> парсер
> выполняется 15-20 минут
> много подзадач по вытаскиванию из инета инфы, в том числе и парсинг вытянутого
> парсер
> выполняется 15-20 минут
> много подзадач по вытаскиванию из инета инфы, в том числе и парсинг вытянутого
Ты уж определись что там у тебя и сколько парсится на самом деле.
ныне парсер понимается как кравлер+парсер, потому так и написал, конечно это разного рода задачи, но так короче потому что ныне...
выполняется 15-20 минут в зависимости от входных параметров, хотя может и 30. а может и 2 часа. что не так?
Остановись и подумай.
Разговор о парсере, значит CPU bound. Что с ним надо делать? Правильно, в отдельный процесс.
Далее. Человек спросил "зачем нужен asyncio", на что получил ответ "для IO-bound задач, да еще и использовать приятнее, чем какой-нибудь threading". Так что треды не при делах.
>в рамках этой задачи выпооняется много подзадач по вытаскиванию из инета инфы, в том числе и парсинг вытянутого
Сколько у тебя конкретно парсинг времени занимает? Вот на столько у тебя event loop и блокируется.
> что не так
> парсер
> выполняется 15-20 минут
> много подзадач по вытаскиванию из инета инфы, в том числе и парсинг вытянутого
Ну, наверное, в том, что ты используешь одно и тоже слово для всей задачи и её подзадача. Речь шла о том, что парсер сам по себе не работает непосредственно с ио, о чём тебе выше кто-то писал. И даже уточнил вопросом. Но ты лишь оголил гребень и разложил по масти в >>867542
является цифрой, и строку no в противном случае" я чет хз че да как я уже устал воевать с chr и ord
да наверное зря я парсером назвал кравлер+парсер. просто подумал что уместно употребить, так как в основном подразумевается что парсер тянет данные потом парсит...
>а как правильно назвать ProcessPoolExecutor?
Что-то я проигрываю с тебя.
Да не в этом дело. У тебя потому парсер и не блокирует, что запускается в отдельном процессе.
Если ты просто его в корутине запустишь, то заблокирует как миленький.
> У тебя потому парсер и не блокирует, что запускается в отдельном процессе.
интересно, как это я до этого догадался!? удивительно!
Так хренли ты хуйню типа
>оборачиваем парсинг в корутину и эта корутина становится неблокирующей
пишешь?
>проблема не решается - я не могу написать нормально неблокирующую херню
Короче, склифосовский, либо ты все знаешь и тратишь чужое время зря, либо ты не можешь свою мысль нормально сгенерировать.
Спасибо питоняшка
Может кто уже изобрел велосипед от таких погрешностей или знает толковую питонячью либу - буду премного благодарен
Спасибо.
слишком решительный шаг
Спроси в новым треде
sudo apt-get install python-dev libmysqlclient-dev
http://pastebin.com/WypermG0
ты всё равно бох.
икс видна только в функции, функция ничего не возвращает, икс из функции не присваивается никуда. если бы было
def f():
x = 3
return x
x = 4
x = f()
print(f())
То тогда бы вывело 3.
print(x)*, конечно же. хотя и функцию тоже можно принтануть, суть не изменится
Секундочку.
Икс в функции это тот самый икс, который в "мэйне", потому что передали ссылку на него, а не просто скопировали значение. И когда мы меняем локальный икс, должен меняться и глобальный.
выдаёт мне кучу миссинг модулей пикрелэйтед.
Cделал формы в wxFormBuilder, запустил через python 2.7. Пытался запихать в ехе как написано в мануле, но что я делаю не так?
Помоги, анон.
пик отвалился
я имею ввиду типа при проверке, находится ли n в списке k, например
задан класс
class ClassName:
def __init__(self, a1, a2=0, a3='aaa'):
self.a1 = a1
self.a2 = a2
self.a3 = a3
нужно выбрать правильные варианты создания представителей этого класса
inst = ClassName('abc')
inst = ClassName('abc', 5)
inst = ClassName('abc', a2 = 5)
inst = ClassName()
inst = ClassName('abc', 1, 2, 'de')
inst(a2 = 'asdf', a1 = 'mmm')
inst(a2='asdf')
Я не понимаю, почему не подходят первые четыре варианта
>inst = ClassName('abc')
>inst = ClassName('abc', 5)
>inst = ClassName('abc', a2 = 5)
можно первые 3, остальные нельзя, а1 обязательно нужно передать (по дефолту первая переменная), остальные необязательно.
Сегодня полез смотреть выхлоп pgbadger, а там в разделе "Most frequent waiting queries" куча "UPDATE django_session SET session_data", некоторые по 10 секунд ждут. Что за хрень может быть?
Количество воркеров около 50, почти все страницы делают тяжелые SQL-запросы. На БД количество одновременных подключений недавно увеличили с 80 до 110.
Может быть сталкивался кто-нибудь? Куда вообще копать?
Пи чарм
Господа, только вкатываюсь в тему, засим вопрос:
Пишу на PyQT5 простейший калькулятор, сделал сетку QGridLayout, в неё напихал кнопок. Как я могу поменять их размеры?
Есть класс и его суперкласс. Создаю объект суперкласса
class A:
atr = 0
class B(A):
pass
foo = A()
foo.atr = 15
и хочу, чтобы из этого объекта сделался объект класса bar, получивший все значения атрибутов из foo
Вручную нехотет.
Помогите, пожалуйста
Блять, промахнулся мимо треда, забейте
Как сделать чтобы ОНО : {{ a = input("a = " ); b = input("b = " ); c = (a + b); print(a, b, c) }} считало значение С, а не тупо лепило как попало числа как буквы?
Это копия, сохраненная 17 ноября 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.