2008-10-14 10 views
9

Я ищу фреймворк, который подходит для начинающих (в Python и веб-разработке).Какую структуру python использовать?

Я уже узнал о Django и web.py. Я думаю, что одна из самых важных вещей для меня - хорошая документация.

Спасибо за помощь, Dan

ответ

10

Я думаю, что Django имеет некоторые из лучшей документации любого проекта я работал на. Именно по этой причине мы выбрали его над Turbogears два года назад, и это был лучший выбор технологий, который мы сделали.

+0

I второй Django. Действительно хорошая инфраструктура и API. Я чувствую, как работает веб-каркас. – Bazman 2008-10-14 22:58:13

+0

Я согласен с тем, что документация лучше, чем TurboGears. Тем не менее, я фактически не использовал ни одного, поэтому не могу сказать, что лучше/проще в использовании. – crystalattice 2008-10-15 03:43:43

3

Django - это удивительно хорошо. Гвидо использует его (работает в Google). Это главная причина, почему я больше нахожу себя в Python, чем в Lua.

3

DanJ, ​​здесь очень хороший список всех известных структур Python: http://wiki.python.org/moin/WebFrameworks

Я бы рекомендовал смотреть на статьи Википедии для Django, Turbogears, Pylons и т.д. [Я написал статью о web.py раз , но он был удален :-(] Они очень хорошо объясняют философские и составляющие различия между структурами.

Лично мне нравится TurboGears, так как он основан на хорошо известных компонентах, CherryPy (для веб-сервиса и URL-адреса маршрутизация), Kid (для шаблонов) и SQLObject (для объектно-реляционного сопоставления). Мне нравится, что они сопротивлялись стремлению «r oll your own "для всех компонентов, и я чувствую, что результат очень Pythonic и легко начать работу.

Но вы должны посмотреть на некоторые примеры кода и учебные пособия и решить, что вам подходит.

1

Вы также должны взглянуть на web2py, который имеет хорошие документы и является очень приятной основой для создания приложений wep.

1

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

+0

Абсолютно отлично подходит для новичков и тех, кто любит гибкость, а документация довольно хорошая, хотя и в виде французского звучания английского. Версия 3.0.1 сделала несколько вещей более последовательными, и я использую ее для большей части моей веб-работы без .NET. – JasonFruit 2009-09-08 17:43:48

1

Повторяя ответ нескольких, я предлагаю Django. по некоторым простым причинам:

  1. Он соответствует стандартной архитектуре MVC.
  2. Вы можете модульно разместить свое приложение прямо с db-моделирования.
  3. Обширная документация и бесплатные онлайн-примеры/доступные на основе проекта книги.
  4. Многие проекты с открытым исходным кодом для ссылок доступны.
+0

+1. Кроме Django это не MVC, а MTV (model-view-template). – muhuk 2009-06-10 18:51:14

0

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

10

web.py?

Это очень просто, и Python'ы. Основное веб-приложение hello-world - это ..

import web 

urls = (
    '/(.*)', 'hello' 
) 

class hello:   
    def GET(self, name): 
     i = web.input(times=1) 
     if not name: name = 'world' 
     for c in range(int(i.times)): 
      print 'Hello,', name+'!' 

if __name__ == "__main__": web.run(urls, globals()) 

.. вот и все.

Я нашел Django заставил намного из его собственных конвенций и компоновки кода, и я никогда не мог вспомнить, промежуточное программное обеспечение/ярлыки импорта, и все другие «волшебство», которое в значительной степени, необходимой для ничего писать. Я обнаружил, что он был ближе к Ruby on Rails, чем веб-инфраструктура Python.

С web.py, вы можете написать целую, функционирующий веб-приложение без использования какой-либо из вспомогательных модулей web.py в - единственное, что вы есть сделать это import web и настройка URL-адреса, что является довольно неизбежным. (последняя строка в примере запускает веб-сервер разработки)

В нем много вещей, таких как API базы данных, помощники форм, механизм шаблонов и т. д., но это не заставляет их на вас - вы могли бы сделать весь свой вывод HTML на print "Using <b>%s</b>" % (" string formating ".strip()), если хотите!

О, в то время как я подчеркнул простоту, web.py - это то, что написано в http://reddit.com, поэтому оно также оказалось очень надежным и надежным. Кроме того, this post автор web.py - очень хорошее объяснение того, почему я предпочитаю web.py над Django

0

Я написал веб-приложения с raw wsgi. Возможно, в какой-то момент выйдет моя библиотека. Я не просто люблю большие рамки и тому подобное. Я научился ненавидеть http при записи в raw wsgi. Вам не очень нравится, когда вы понимаете, насколько глупый синтаксический анализ и интерпретация вам необходимы для загрузки файла.

Из-за wsgi, python имеет множество фреймов разных качеств. Если вы хотите попробовать свой путь, я бы предположил, что вы бы хотели знать werkzeug. Это дает некоторые вещи, когда вы еще не знаете, как их выполнять. У меня может быть слишком много «рамок» для меня. В конце концов, очень хорошо написанная структура должна превышать то, что я написал в wsgi.