Я изучаю Python и мне интересно использовать его для веб-скриптинга. Какие фреймворки есть и мне они нужны?

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

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

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

5 ответов

Решение

Веб-фреймворки Python не имеют ничего общего с графическим интерфейсом и могут использоваться через терминал.

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

Лично мне нравится Django, но ваш пробег может отличаться: я бы сказал, что все, что вы делаете с Python и сетью, потребует какой-то фреймворк, даже если он один из абсолютно минимальных, таких как Flask, который в основном выполняет только маршрутизацию часть. Там просто нет смысла писать все эти вещи с нуля, когда это было сделано для вас.

Я бы порекомендовал использовать Google App Engine - в нем есть все основные компоненты фреймворка для быстрого запуска, и есть несколько книг, в которых подробно объясняется, как его использовать, а также учебники. Также есть большое сообщество вокруг этого.

  • хостинг приложений там бесплатный!

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

Я бы остановился на посте выше: Django - это отличный фреймворк, который в конечном итоге сэкономит вам массу времени.

Практически все проблемы, с которыми вы столкнетесь при написании веб-приложения, уже решены, например, как я могу отправлять электронные письма? А как насчет интерфейса администратора для редактирования данных? Безопасность пользователя?

На мой взгляд, выбор лучшей основы - это экосистема вокруг этой структуры. Насколько хорошо это используется? Это широко обсуждается в Интернете? Сталкивались ли и сталкивались ли другие проблемы с которыми я сталкиваюсь?

С точки зрения того, с чего начать, смотрите Учебное пособие по Django здесь: http://docs.djangoproject.com/en/1.2/intro/tutorial01/

Если вы думаете, что Django предлагает вам слишком много, я бы порекомендовал вам взглянуть на CherryPy, чтобы просто сравнить другой и гораздо более простой подход.

С Python у вас есть много вариантов. Для начала я бы порекомендовал посмотреть здесь - он объясняет основы и предоставляет довольно полный список фреймворков.

Если вы ищете что-то простое, но также и более сложное, тогда вам стоит взглянуть на web2py. Он не требует установки или настройки, не имеет зависимостей и включает веб-сервер и реляционную базу данных. Он также включает дополнительную интегрированную веб-среду разработки и интерфейс администратора, но вместо этого вы можете работать через терминал, если хотите.

Его очень легко освоить, и он был разработан для простоты использования, ускорения разработки и безопасности. Вы можете многое сделать с очень небольшим количеством кода благодаря включенному приложению scaffolding и множеству разумных вариантов поведения по умолчанию. По мере того, как все усложняется, web2py может справиться с этим, поскольку он представляет собой хорошо интегрированную интегрированную интегрированную среду с множеством встроенных функций, включая уровень абстракции базы данных, обработку и проверку форм, контроль доступа, веб-сервисы и простой Ajax. интеграция.

Лично я не использую никаких фреймворков, я пишу либо с нуля на BaseHTTPServer, либо с помощью WSGI (с mod_wsgi).

Это немного долго, чтобы написать скелет, но я думаю, что это быстрее (я имею в виду во время выполнения), там меньше ограничений, и меньше учиться.

Другие вопросы по тегам