Веб-фреймворк Python с низким барьером для входа - PullRequest
4 голосов
/ 04 июня 2009

Я ищу опыт LAMPish / WAMPish.

Что-то очень прозрачное. Напишите скрипт, нажмите F5 и посмотрите результаты. Очень мало, если есть абстракция. Будет использоваться SQLAlchemy и (возможно) какой-нибудь простой шаблонизатор.

Мне нужен простой доступ к среде - по аналогии с PHP. Что-то вроде объектов COOKIE, SESSION, POST, GET.

Я не хочу писать слой промежуточного программного обеспечения только для того, чтобы веб-сайт работал и работал. И я не хочу иметь дело со спецификой CGI.

Это не предназначено для очень сложного проекта и предназначено для начинающих программистов и / или начинающих программистов Python.

Инфраструктура MVC не исключена. ASP.NET MVC прекрасно сделан IMO. Одна вещь, которая мне понравилась, это то, что POST-данные автоматически приводятся к объектам модели данных, если это необходимо.

Можете ли вы помочь мне здесь?

Спасибо!

PS: Я не нашел ничего подходящего этим критериям в более старых сообщениях.

Ответы [ 7 ]

6 голосов
/ 04 июня 2009

CherryPy может быть то, что вам нужно. Он прозрачно отображает URL-адреса на функции Python и обрабатывает все файлы cookie и сеансы (и, конечно, параметры POST / GET для вас).

Это не решение с полным стеком, такое как Django или Rails. С другой стороны, это означает, что он не смешивает вас с движком шаблонов или ORM, который вам не нравится; Вы можете использовать все, что захотите.

Он включает в себя веб-сервер, совместимый с WSGI, поэтому вам даже не нужен Apache.

5 голосов
/ 12 августа 2009

Для низкого барьера для входа, web.py очень легко и просто.

Особенности:

  • easy (dev) deploy ... скопируйте папку web.py в каталог вашего приложения и запустите сервер
  • Отображение URL на основе регулярных выражений
  • очень простые отображения классов
  • встроенный сервер (у большинства фреймворков, конечно, есть)
  • очень тонкий (по крайней мере измеряется строками кода) слой поверх кода приложения Python.

Вот его Привет, мир :

import web

urls = (
    '/(.*)', 'hello'
)
app = web.application(urls, globals())

class hello:        
    def GET(self, name):
        if not name: 
            name = 'world'
        return 'Hello, ' + name + '!'

if __name__ == "__main__":
    app.run()

Столько, сколько мне нравится Werkzeug концептуально, писать wsgi сантехнику в Hello, World! глубоко неприятно, и полностью мешает демонстрации приложения.

Тем не менее, web.py не идеален, и для больших работ это, вероятно, не правильный инструмент, так как:

  • системы стилей маршрутов (imho) лучше, чем системы регулярных выражений
  • интеграция web.py с другими промежуточными программами может оказаться сложной задачей
5 голосов
/ 04 июня 2009

То, что вы описываете, больше всего похоже на Пилоны , мне кажется. Тем не менее, число веб-фреймворков в / для Python огромно - см. на этой странице , чтобы попытаться перечислить и ОЧЕНЬ кратко охарактеризовать каждого из них!

1 голос
/ 03 января 2010

Не забудьте Бутылка . Это однофайловый микро-фреймворк без каких-либо зависимостей и очень простой в использовании. Вот пример "Hello world":

from bottle import route, run
@route('/')
def index():
    return 'Hello World!'
run(host='localhost', port=8080)

А вот пример доступа к переменным POST (файлы cookie и переменные GET похожи)

from bottle import route, request
@route('/submit', method='POST')
def submit():
    name = request.POST.get('name', 'World')
    return 'Hello %s!' % name
1 голос
/ 04 июня 2009

Вы изучили веб-фреймворк Django ? Это MVC-фреймворк, написанный на python, и его относительно легко настроить и начать работу. Вы можете запустить его только на python, так как он может использовать SQLite и собственный сервер разработки, или вы можете настроить его на использование MySQL и Apache, если хотите.

Pylons - это еще один фреймворк, поддерживающий SQLAlchemy для моделей. Я никогда не использовал это, но это кажется многообещающим.

1 голос
/ 04 июня 2009

Посмотрите на:

  • WSGI , стандартный API-интерфейс Python для HTTP-серверов для вызова кода Python.
  • Django , популярный, многофункциональный, хорошо документированный веб-фреймворк Python
  • web.py , минимальный веб-фреймворк Python
0 голосов
/ 06 октября 2009

Проверить web2py . Он работает из коробки без конфигурации - даже с USB-накопителя. Язык шаблонов - чистый Python, и вы можете разработать все свое приложение через редактор браузера (хотя я нахожу vim быстрее;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...