LINUX.ORG.RU

Web Framework с поддержкой Python 3

 , ,


0

1

Решил запустить небольшой сайт, есть идея, договорился с tazhate о бесплатном хостинге на время. И только я собрался обмазаться «Dive Into Python 3» как узнал, что Django на нём не работает, а изучать legacy crap и через полгода переучиваться не охота. В связи с этим прошу регистрантов и анонимусов посоветовать годный фреймворк, который работает на Python 3. Либо отговорте от этой идеи и посоветуйте другую годную технологию, с помощью которой можно сделать сайт без трудозатрат и ущерба для психики. Вот что мне нужно сделать.

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

Версия для сотрудников: слежение за товаром, обновление информации о нём и хелпдеск, но уже с другой стороны и с другими правами.

★★★

Последнее исправление: yurikoles (всего исправлений: 1)

Пиши на рельсах, производительность примерно одинаковая (+/- лапоть). А удобство в некоторых аспектах значительно больше.

anonymous
()

CherryPy и bottle.py

По сабжу - зачем тебе python3? думаешь он даст тебе что-нибудь чего нет в python3?

anonymous
()

посоветуйте другую годную технологию

java + стек технологий java ee 6. Быстро, легко и просто

JFreeM ★★★☆
()

Pyramid написан с учетом совместимости с Python 3. Уже через пару месяцев запущу еще 3 сервиса на python 3.

xpahos ★★★★★
()

Rails 3 на Ruby 1.9.3 Скорость, могу спорить, будет почти та же, а рельсы в отличии от джанги всё больше становятся похожи на большой конструктор, что очень радует. То, что ты описал вообще делается за пару дней скаффолдом до состояния прототипа, годного чтобы показать заказчику.

Alve ★★★★★
()

У меня вопрос не надоело писать посты , который имеют целью развести очередной холивар ? Если ты решил запустить сайт и имеешь мизерный опыт в веб разработке, какая нахрен разница на чем тебе писать?

yanka ★★
()
Ответ на: комментарий от Kalashnikov

А если не питон, то РоР наверно

Заметила такую вещь, когда говорят о Ruby называют почему то только ROR. Иногда называют sinatra. Больше ничего путного в Ruby нет?

На Python написано гораздо больше высококлассных фреймворков - django , pylons, pyramid , flask, bottle, cherrypy, turbogears, tornado...

Я уж не говорю о высоколассных библиотеках которые по функционалу охватывает многие возможности микрофреймворков - werkzeug, webob

yanka ★★
()
Ответ на: комментарий от yanka

У меня вопрос не надоело писать посты , который имеют целью развести очередной холивар ?

Это моя еда мой хлеб.

Если ты решил запустить сайт и имеешь мизерный опыт в веб разработке, какая нахрен разница на чем тебе писать?

Как раз наоборот те кто имеют опыт уже сложили у себя в голове представление/привычки/мифы по поводу разных платформ, им спрашивать нет смысла, а начинающим как раз есть смысл спрашивать.

yurikoles ★★★
() автор топика
Ответ на: комментарий от yurikoles

Есть ряд трудностей с веб разработкой под третью ветку, еще не все часто необходимые библиотеки портированы. Простой пример PIL (pillow) еще не портированы , а это основной инструмент для работы с графикой под python. Есть правда биндинги под ImageMagick. Нет смысла пока фронтально использовать третью ветку в веб разработке, в сущности разницы (да и профита) практически мало. В запасе еще 5 лет поддержки второй ветки. Я понимаю психологию новичка - типо вторая ветка «устарела», начну я с самой свежей. Это неправильно, под вторую ветку написано масса высококлассных библиотек, для любого программиста это кладезь кода и отличное учебное пособие.

P.S Мой пост был адресован опытным веб разработчикам по поводу использования третьей ветки.

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

yanka ★★
()

изучать legacy crap и через полгода переучиваться не охота.

Не такое уж и crap, на нем продолжают кучу нового софта писать. Если ты знаешь питон, хотя бы немного, то совершенно точно лучше брать 2ю ветку и джангу. Если не знаешь ничего - лучше рор.

tazhate ★★★★★
()

изучать legacy crap и через полгода переучиваться не охота.

Странное понятие о том что дерьмо и устарело или нет. Тебе нельзя заниматься веб разработкой ))) Если тебе для перехода со второй на третью ветку python требуется переучиваться длительное время, то это о многом говорит

yanka ★★
()
Ответ на: комментарий от yanka

Тебе нельзя заниматься веб разработкой ))) Если тебе для перехода со второй на третью ветку python требуется переучиваться длительное время, то это о многом говорит

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

yurikoles ★★★
() автор топика
Ответ на: комментарий от yurikoles

А время тратится не на переучивание, а на переписывание существующего кода.

Интересно, а что ты собрался там так долго переписывать? Допустим ты написал сайт на django , ну вышла django с поддержкой с python 3. Да они иногда ломают обратную совместимость, но не настолько чтобы там надо было что-то очень глобально корректировать в коде.

Ты вообще использовал библиотеки работающие под третью и вторую ветку? Ну например jinja2 ? Разница в api есть ? )))

Повторюсь , ты такие глупости пишешь, потомучто у тебя нет реального опыта разработки в python

yanka ★★
()
Ответ на: комментарий от tazhate

почему не лучше взять вторую ветку питона? :) Я вот знаю немного питон, выбрал python 3.2. Не вижу причин по которым нужно выбрать вторую ветку, т.к. rpm я собрал себе, большая часть библиотек нужных мне либо найдена у других людей, либо вот потихоньку выкладываю то что перенес.

xpahos ★★★★★
()
Ответ на: комментарий от yanka

Если код не выходи за пределы ORM + шаблонизатор, то скорее всего его без проблем можно будет перенести обычным 2to3. Ну для этого нужно будет еще учесть все depricated библиотеки и пользоваться только 2.7 учитывая все рекомендации.

xpahos ★★★★★
()
Ответ на: комментарий от yanka

Если ты решил запустить сайт и имеешь мизерный опыт в веб разработке, какая нахрен разница на чем тебе писать?

Как раз таки большая. У опытного разработчика таких вопросов не возникает. Скажите спасибо что человек задаёт такие вопросы, а не пишет на ненавистном вам php.

firestarter ★★★☆
()
Ответ на: комментарий от yanka

На Python написано гораздо больше высококлассных фреймворков - django , pylons, pyramid , flask, bottle, cherrypy, turbogears, tornado...

на пэхапэ их написано еще больше, и? это не делает ему чести :)

django

ок впринципе, скоро обещается поддержка петон3

pylons

труп

pyramid

судя по докам вроде ниче, не пробовал, кстати поддерживает петон3

flask

годно вроде, петон3 не поддерживает

bottle

несерьезно

cherrypy

несерьезно

turbogears

еще жив? нигде почти его нет

tornado

несерьезно, нода в 3 раза быстрей на тех же задачах + все библиотеки асинхронные, в отличии от сабжа, где надо корячится

когда говорят о Ruby называют почему то только ROR.

мб потому что лидирующий фреймворк сейчас? кроме того, количество - тебе ничего не даст, лучше один «Годный» (руби) чем 50 говнофреймворков(пхп)

umren ★★★★★
()
Ответ на: комментарий от umren

Юноша, ты написал столько, расположил по полочкам что серьезно, а что нет. У всех перечисленных выше тобой python фреймворков свой круг задач. Говорить что ,например cherrypy - несерьезно просто не понимать, где cherrypy используется. Тоже самое касается и других микрофреймворков. К сожалению, микрофреймворками начинают пользоваться новички, не понимая того факта, что использования микрофреймворка, требует более серьезной подготовки в python. Микрофреймворки предназначены для гибкой веб разработки.

Поддержка или не поддержка python 3 в фреймворках не является на сей день определяющей , так как стандарт wsgi сейчас проходит стадию сопряжения с третьей веткой. По сути любая поддержка в фреймворке 3 ветки сейчас является экспериментальной. Обрати внимание , например как реализован wsgi в python3.1 и python3.2 . Планируемые версии python3.3 и python3.4 призваны решить проблему сопряжения c wsgi . Так, например в версии 3.3 планируется вернуть Unicode литерала u"

P.S От себя сделала наблюдения, многие кто начинает в python сразу берутся за фреймворки. Никому даже и в голову не приходит поработать на низком уровне, а неплохо бы было если вы бы попробовали написать веб приложение используя только стандартную библиотеку. Многие совершенно не умеют читать код . По сути так называемые новоиспеченные программисты на python осваивают азы синтаксиса python и API фреймворка. Зато потом с самоуверенностью пишут кучу бреда, что годно , а что нет.

yanka ★★
()
Ответ на: комментарий от yanka

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

зачем мне тогда высокоуровневый язык в котором есть годные высокоуровневые фреймворки ? именно по ним я буду оценивать инструмент, по его аксессуарам и вещам которые идут в комплекте)

«учиться» на стандартной библиотеке питона писать веб приложения? это никому не нужно, уж простите, язык бы загнулся давно, на руби вон все фреймворки давно сидят на новой ветке 1.9, петон же слоупочик по дикому, в релизе 3.2 а поддержка только «планируется» - как бы ребята не разбежались, ООК?

umren ★★★★★
()
Ответ на: комментарий от umren

cherrypy несерьезно? да вы не в своем уме.

anonymous
()
Ответ на: комментарий от yanka

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

Я думаю, что еще лучше было бы начать с изучения какого-нибудь микрофреймворка, при этом не просто чтения документации, но еще и исходного кода проекта. У bottle.py код маленький и приятный. Сейчас вспомнил тему, в котором новичок в /web-development/ просил ему рассказать что проиходит в bottle.py, ну это наверное клинический случай, он просто не осисили.

Еще насчет использования только стандартной библиотеки - многие в питон приходят из чистого php и имхо им не нужно это, так как они более менее понимают, что от них требуется (если пхп им мозги не проел, конечно же).

А вот если python - первый язык и опыта в вебе нет никакого - то да, действительно, совет попробовать сделать пару страничек только на стандартной библиотеке даст неплохое представление и введение в отрасль.

anonymous
()
Ответ на: комментарий от umren

«учиться» на стандартной библиотеке питона писать веб приложения?

ага. если python - первый язык и опыта в вебе нет никакого, то понимание как это работает без всяких абстракции и сахара - только на пользу новичку.

anonymous
()
Ответ на: комментарий от xpahos

2to3

помню я эти обещания товарища Гвидо о том, как просто будет переносить код из python2 в python3k. Последующая клоунада прекрасно показывает «работоспособность» 2to3.

anonymous
()
Ответ на: комментарий от yanka

Да они иногда ломают обратную совместимость, но не настолько чтобы там надо было что-то очень глобально корректировать в коде

Я с тобой почти во всём согласен, что ты в этом треде написала, за исключением этой цитаты. Переносил как-то очень старый django-legacy-проект на django 1.3. Это просто два разных фреймворка надо сказать. Столько геммора, что проще было все заново написать.

anonymous
()
Ответ на: комментарий от yanka

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

+100500 В сложных вещах, всякого рода код из фреймворков занимает не больше 5%.

anonymous
()
Ответ на: комментарий от ZuBB

зачем тебе python3? думаешь он даст тебе что-нибудь чего нет в python3?
с(т)ильно

концептуально. я имел в виду «зачем тебе python3? думаешь он даст тебе что-нибудь чего нет в python2?». Но моя оговорка конечно доставляет и заставляет меня задуматься ;)

anonymous
()
Ответ на: комментарий от xpahos

Уже через пару месяцев запущу еще 3 сервиса на python 3.

Ну расскажи, хоты бы в кратце, что за сервисы, какие сравнительное преимущество дает Pyramid?

anonymous
()
Ответ на: комментарий от anonymous

Да , согласна есть такое, особенно для старых версий django.

yanka ★★
()
Ответ на: комментарий от anonymous

помню я эти обещания товарища Гвидо о том, как просто будет переносить код из python2 в python3k. Последующая клоунада прекрасно показывает «работоспособность» 2to3.

а в чем проблема?

xpahos ★★★★★
()
Ответ на: комментарий от anonymous

Ну расскажи, хоты бы в кратце, что за сервисы, какие сравнительное преимущество дает Pyramid?

что-то вроде wiki чтоли, но узкоспециализированное. Pyramid гибче Django и имеет поддержку Python 3.

xpahos ★★★★★
()

или django или ror

только django кака и ruby кака

я бы взял pyramid+mongodb

bismi
()
Ответ на: комментарий от yanka

В запасе еще 5 лет поддержки второй ветки.

А из дистрибутивов вторую ветку еще лет 10, как минимум, не выкинут :). Слишком много легаси.

где cherrypy используется

А где он используется?

3. Да они иногда ломают обратную совместимость, но не настолько чтобы там надо было что-то очень глобально корректировать в коде.

Смотря где. Я до упора буду на 2-м питоне сидеть. Ни либ нужных нет, и обработку тех же строк долго переписывать и тестировать.

cab ★★★★
()
Ответ на: комментарий от cab

А где он используется?

Прежде всего cherrypy это быстрый сервер wsgi приложений. Очень широко используется , например для развертки вебприложений на django, pylons, pyramid ...

cherrypy + nginx - отличное решение для wsgi приложений

yanka ★★
()
Ответ на: комментарий от cab

Я до упора...

А при чём тут ты? Есть люди которые до сих пор на QBasic кодят. Будешь как они раз в месяц есть доширак. Делов то.

anonymous
()
Ответ на: комментарий от yanka

cherrypy ... для развертки вебприложений на django, pylons, pyramid ...

cherrypy помимо быстрого многопоточного веб-сервера включает в себя фрейворк(что касается роутинга)

поэтому например для деплоя pyramid используется менее быстрый waitress (на python3, на python2 paster)

bismi
()
Ответ на: комментарий от anonymous

Ты два раза не прав:


  • Поддержка подобных штук только увеличивает цену сопровождения. А из заказчика выбивать финансирование переписывания и рисков с ним связанных сейчас, при очень живой инфраструктуре 2-й ветки и менеее живой 3-ей не умно.
  • Я, кроме питона, еще дофига на чем код пишу, доширак мало вероятен. А у инфраструктуры третьей ветки пока больше минусов, чем плюсов. Например, та же обработка строк медленее и библиотек маловато еще.
cab ★★★★
()
Ответ на: комментарий от yanka

Т.е. как я понял, он запускает джангу или наоборот, джанга его дергает использует там, где сама по скорости проседает?
Если че: я не специалист в вебе. Просто когда-то для собственных нужд на cherrypy простенький сайтик сделал, вот и думаю, правильный ли выбор.

cab ★★★★
()
Ответ на: комментарий от cab

В данном случае я выше говорила об использовании встроенного многопоточного сервера cherrypy для развертки wsgi приложений(в частности приложений на django). Для новичка это нетривиальная тема. Способов развертки wsgi приложений много , для новичка я бы советовала все-таки mod_wsgi под apache2 Помимо того ,cherrypy содержит встроенный многопоточный сервер, это еще и фреймворк. В нем есть и роутинг и поддержка сессий. Нет работы с БД и темплейтного движка, но все это хозяйство легко прикручивается , например можно прикрутить sqlalchemy и mako templates В твоем случае , ты можешь смело использовать cherrypy как фреймворк для создания сайта. Порог вхожения в этот фреймворк довольно низкий, но документация есть только на английском, есть две книги тоже на английском по использованию cherrypy для развертки веб приложений

Зайди на рутрекер там есть книга Python 3 Web Development Beginner's Guide

автор Michel Anders

Неплохая книга для разработки веб приложений на cherrypy + jquery

yanka ★★
()
Ответ на: комментарий от yanka

спасибо, за ликбез. На самом деле мои вопросы были для расширения кругозора. т.к. специализация у меня далека от веба.

Нет работы с БД

ну, она фреймворку ортогональна...

например можно прикрутить sqlalchemy

а это не надо (я не сторонник ОРМ)

ты можешь смело использовать cherrypy как фреймворк для создания сайта

Я это и делал, мне понравилось.

cab ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.