| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Веб-разработка и фреймворки > Не могу понять принцип работы python |
| Автор: Dorian9 19.3.2016, 17:34 |
| Добрый день! Полгода учил PHP, сейчас нужен Python, разобрался с синтаксисом, ООП и пр. Но не могу приступить к реальной практике, т.к. не пойму как работает python в связке с сервером и БД и как это связать. С php все понятно: установил себе на компьютер Apache (локальный), скачал и установил дистрибутив php, скачал и установил дистрибутив mysql, выполнил пару действий, которые настроили эти три вещи, чтобы они работали в комплексе, в папке htdocs локального сервера создаю свои папки, в которых сайты, фреймворки и т.п. Все просто и понятно. Для python скачал и установил дистрибутив python и Shell, на котором только и могу, что тестировать простейшие задачи. Но как создать конкретно сайт? Какой нужен сервер? Apache подходит? С какой БД лучше работать? С mysql можно? Как связать дистрибутив python с сервером и БД, чтобы это работало, как работает php? Где создать файл, в котором я могу прописать банально print('Hello, world!')? Как этот файл запустить в браузере, чтобы можно было видеть эту надпись на экране, а не в Shell? Спасибо! |
| Автор: _zorn_ 20.3.2016, 05:27 |
| Вы просто не понимаете как работает веб. Запросы (на 80 порт по умолчанию) должен обслуживать какой нибудь сервер. В случае с пхп апачь кстати не нужен - php с ключом -S все покроет (для девелопмента ). Дальше. В вашем случае нужно поднимать сервер на питоне (или взять готовый, например tornado) который будет слушать порт и отвечать на HTTP запросы. Для девелопмента этого хватит, на продакшене - nginx с каким нибудь uwcgi, который будет вашему серверу запросы перенаправлять Вобщем перед тем как переходить из пхп в питон для начала вообще разберитесь как это работает Это все есть в пхп. Может раньше времени сбегаете ? Да, на пхп гавнакод писать проще, но вас ведь не заставляют А вообще вонючий код можно написать даже на яве, с ее пресловутой системой типов (которая должна помогать избежать ошибок, а по факту только мешает). Вобщем не от языка программирования все зависит. |
| Автор: agekov 20.3.2016, 13:13 |
| Python язык общего назначения, на нём с разной степенью успеха, пишутся очень разные программы, он не заточен под web как PHP. Соответственно для конкретных задач нужно доставлять различные библиотеки и фреймворки. Конкретно под web самым используемым является Django, но в случае простых приложений вполне поойдут CherryPy или Web2py, которые в основах осваиваются за полтора дня. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Ne-mogu-ponyat-printsip-raboty-python-id56ed63d3ae201567298b4567#findElement_E7045_56ee77d7ae2015e67acd5b93_0 |
| Автор: Dorian9 20.3.2016, 15:06 | ||
Спасибо, я уже немного понял) Но вот читаю, что есть модуль mod_wsgi, который позволяет использовать apache для работы на python. Подскажите, насколько это оправданно использовать именно nginx? Ведь на хостингах же 50% стоит apache и только 15% nginx. Да я не то, чтобы сбегаю, мне нравится php, я и в нем хочу в дельнейшем развиваться тоже. И ООП в обоих языках одинаковое, в классическом варианте построено, не то, что в JS) Просто мне нужно переориентироваться на python и почти все внимание в ближайшее время уделять ему, вот и пытаюсь разобраться с таких вещей. |
| Автор: samssrus 20.3.2016, 17:49 |
...не mod_wsgi единым силен python на apache ![]() есть еще FastCGI и SCGI, и хардкор CGI :) для 3.5. https://docs.python.org/3.5/howto/webservers.html для 2.7. https://docs.python.org/2/howto/webservers.html если на долго придется засесть за python for web, то не теряя времени лучше всего заняться изучением Django. Инструмент очень развитый и мощный. Очень много книг и документации. Для него есть куча отдельных инструкций как поднять проект на apache используя любые модули. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Ne-mogu-ponyat-printsip-raboty-python-id56ed63d3ae201567298b4567#findElement_E7045_56eeb88cae20152b2bcd70ba_0 |
| Автор: Dorian9 21.3.2016, 02:40 |
| Отлично, спасибо за ссылки и информацию) |