Django по сравнению с другими веб-платформами Python?

Привет, вы должны использовать отложенные обещания, в том числе «выполнено», «сбой» и «всегда» с вашим вызовом ajax и даже с установленным тайм-аутом, если запрос такой быстрый, проверьте пример, который я сделал в этом jsfiddle , также вот пример синтаксиса :

$( function() {
  function AjaxCall(rID,rStatus,rComment){
    return $.ajax({
      url: 'request.php',
      data: {
        id: rID,
        requisitionStatus: rStatus,
        comment: rComment    
      },
      type: "POST",
      cache: false,
      beforeSend: function() {
        $("#requisitionStatusDialog").dialog('close');
        $('#ajax_loader_my').show();
      }
    })
  }


  $( "#requisitionStatusDialog" ).dialog();

  $("#yourbuttonInputId").on('click',function(event) {
    AjaxCall().done(function(data,response){
      var obj = JSON.parse(data);
      if (obj.status == "success") {
        alert('whe are on done!');
      }
    }).fail(function(data,response){
      $("#updateDialog").dialog(' close');
    }).always(function(data){
      if(confirm('You have finished the request.  Click OK if you wish to continue ,click Cancel to reload the page.'))
      {
        $('#ajax_loader_my').hide();
        $("#requisitionStatusDialog").dialog('open');
      }else{
        location.reload();
      }

    });
  });
} );

Надеюсь, это поможет =)

60
задан 2 revs 31 March 2009 в 18:08
поделиться

12 ответов

Я предлагаю бросить другой взгляд на TG2. Я думаю, что людям не удалось заметить некоторые успехи, которые были достигнуты начиная с последней версии. Кроме растущего стека WSGI утилит, доступных существует довольно много TG2-определенных объектов для рассмотрения. Вот несколько выделений:

Интерфейс TurboGears Administration System - This CRUD к Вашей базе данных является полностью настраиваемым использованием декларативного класса конфигурации. Это также интегрируется с Dojo, чтобы дать Вам бесконечно таблицы с возможностью прокрутки. Серверная проверка также автоматизирована. Администраторский интерфейс использует УСПОКОИТЕЛЬНЫЕ URL и глаголы HTTP, что означает, что было бы легко соединиться с программно использованием промышленных стандартов.

CrudRestController/RestController - TurboGears обеспечивает структурированный способ обработать сервисы в Вашем контроллере. Если Вы способность использовать стандартизированные глаголы HTTP просто путем расширения нашего RestController. Объедините Sprox с CrudRestController, и можно поместить грязь где угодно в приложение с полностью настраиваемыми автоматически сгенерированными формами. TurboGears теперь поддерживает типы пантомимы как расширения файла в URL, таким образом, у Вас могут быть свой рендеринг контроллера .json и .xml с тем же интерфейсом, он использует для рендеринга HTML (возвращающий словарь из контроллера)

При щелчке на ссылки, Вы будете видеть, что у нас есть новый набор документации, созданной со сфинксом, который более обширен, чем документы прошлого.

С лучшим веб-сервером, ORM и шаблонной системой (системами) (выбирают Ваше собственное) под капотом, легко видеть, почему TG имеет смысл для людей, которые хотят начать быстро и все еще иметь масштабируемость, когда их сайт растет.

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

16
ответ дан percious 24 November 2019 в 17:43
поделиться

Я предложил бы для TurboGears 2. Они сделали фантастическое задание интеграции лучшего из мира Python.

WSGI: Принятие Вас разрабатывает умеренно сложные проекты / бизнес-решения в TG2, или некоторая другая платформа говорят Grok. Даже при том, что эти платформы поддерживают WSGI, который означает тот, кто использует эти платформы, должны изучить WSGI? В большинстве случаев ответ является номером, я подразумеваю, что это хорошо, имеют это знание несомненно.

Знание WSGI, вероятно, более полезно в случаях как

  • Вы хотите использовать некоторое промежуточное программное обеспечение или некоторый другой компонент, который не обеспечивается как часть стандартного стека для, например, Authkit с TG или Grok без ZODB.
  • Вы делаете некоторую интеграцию.

CherryPy хорош, но думайте об обработке Вашей базы данных, commits/rollbacks в конце транзакций, выставляя json, проверок в таких случаях TG, Django как платформы делает все это для Вас.

0
ответ дан Shekhar 24 November 2019 в 17:43
поделиться

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

С другой стороны, если у Вас есть время для изучения множества новых вещей, которые могут применяться в других доменах и хотеть иметь самый широкий объем для удовлетворения требованиям заказчика затем, что-то как Turbogears выше. Turbogears дает Вам максимальную гибкость, но необходимо будет провести много времени, читая внешние документы для вещей как Отдых, SQLAlchemy и Genshi для получения чего-либо полезного, сделанного с ним. Документы TG2 сознательно менее подробны, чем документы TG1 в некоторых случаях, потому что считается, что внешние документы лучше, чем они раньше были. Является ли этот вид вещи препятствием, или инвестиции зависят от Ваших собственных требований.

2
ответ дан Kylotan 24 November 2019 в 17:43
поделиться

Я - поклонник TurboGears, и это - точно причина почему: очень хороший компромисс между управлением и делающими правильно вещами по сравнению с легким.

Необходимо будет решиться, конечно. Возможно, Вы предпочли бы учиться меньше, возможно, больше. Возможно, области, что мне нравится знание/управление (база данных, например), Вы не могли заботиться меньше о. И не поймите неправильно. Я не характеризую платформ как обязательно трудно или неправильно. Это - просто мое субъективное суждение.

Также я рекомендовал бы TurboGears 2 если вообще возможный. Когда это выходит, я думаю, что будет намного лучше, чем 1,0 с точки зрения того, что это выбрало для значений по умолчанию (genshi, опоры, SqlAlchemy)

0
ответ дан Dan 24 November 2019 в 17:43
поделиться

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

Что касается "чего-либо понижают уровень", если Вы имеете в виду sql, совершенно возможно пихнуть sql в Вас запросы с дополнительным ключевым словом. Стилистически, Вы всегда стараетесь избегать этого как можно больше.

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

1
ответ дан David Berger 24 November 2019 в 17:43
поделиться

Вы смотрели на CherryPy. Это является минималистическим, все же эффективным и простым. Это - низкий уровень достаточно для не это, чтобы войти в них путь, но достаточно высоко скрыть сложность. Если я помню хорошо, TurboGears был основан на нем.

С CherryPy у Вас есть выбор очень всего. (Шаблонная платформа, ORM, если требуется, бэкенд, и т.д.)

7
ответ дан Martin 24 November 2019 в 17:43
поделиться

Изучите WSGI

WSGI нелепо прост.. Это - в основном функция, которая похожа..

def application(environ, start_response) pass

Функция вызвана, когда Запрос HTTP получен. environ содержит различные данные (как запрос URI и т.д. и т.д.), start_response вызываемая функция, используемая для установки заголовков.

Возвращенное значение является телом веб-сайта.

приложение определения (окружают, start_response): start_response ("200 хорошо", []) возвращаются "..."

Вот и все, действительно.. Это не платформа, но больше протокол для веб-платформ для использования..

Для создания сайтов, с помощью WSGI не "правильный путь" - использование существующих платформ.. но, если Вы пишете, что веб-платформа Python затем с помощью WSGI является абсолютно правильным путем..

Какую платформу Вы используете (CherryPy, Django, TurboGears и т.д.) в основном персональное предпочтение.. Игра вокруг в каждом, посмотрите, который Вам нравится большинство, затем используйте его.. Существует вопрос о StackOverflow (с большим ответом) об этом, "Рекомендация для простых платформ Python"

6
ответ дан Community 24 November 2019 в 17:43
поделиться

Ваш вопрос, кажется, "это стоящий изучения WSGI и сделать все самостоятельно" или использовать "полную платформу стека, которая делает все для Вас".

Я сказал бы, что это - ложная дихотомия и существует очевидный третий путь. TurboGears 2 пытается обеспечить, гладкий путь от "делают все для Вас" разрабатывает платформу до понимания промежуточного программного обеспечения WSGI и способность настроить почти каждый аспект платформы для удовлетворения потребностям приложения.

Мы не можем быть успешными в каждом месте на каждом уровне, но особенно если Вы уже получили некоторый опыт TurboGears 1, я думаю, что кривая обучения TG2 будет очень, очень легка сначала, и у Вас будет способность пойти глубже точно при необходимости в нем.

Решать Ваши конкретные проблемы:

  • Мы обеспечиваем систему авторизации из поля, которое соответствует тому, к которому Вы привыкли от TG1.
  • Мы предоставляем из поля "django администратору" как интерфейс, названный tgext.admin, который работает отлично с додзе для создания необычной электронной таблицы как интерфейс значением по умолчанию.

Я также хотел бы обратиться к нескольким другим опциям, которые являются там и говорят немного о преимуществах.

  • CherryPy. Я думаю, что CherryPy является большим веб-сервером и хорошей минималистической веб-платформой. Это не основано на WSGI внутренне, но имеет хорошую поддержку WSGI, хотя это не предоставит Вам "полный стек" опыт. Но для пользовательских установок, которые должны быть и быстро и особенно не подходят для значений по умолчанию, обеспеченных Django или TurboGears, это - отличное решение.

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

  • Опоры опор как CherryPy являются большой минималистической веб-платформой. В отличие от CherryPy это - WSGI, включил через целую систему и обеспечивает некоторые нормальные значения по умолчанию как SQLAlchemy и Мако, который может помочь Вам масштабироваться хорошо. Новые официальные документы имеют намного лучшее качество, чем старые документы Wiki, которые являются тем, на что Вы, кажется, посмотрели.

11
ответ дан 3 revs, 3 users 85% 24 November 2019 в 17:43
поделиться

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

Некоторый личный опыт: Я провел годы, на и прочь, бездельничая с Twisted/Nevow, TurboGears и несколькими другими веб-платформами Python. Я никогда ничего не заканчивал, потому что код платформы был постоянно не закончен и переписал подо мной, документация часто не существовала или была неправильной, и единственная жизнеспособная поддержка была через IRC (где я часто получал большой совет, но чувствовал, что был внушителен, если я задал слишком много вопросов).

Для сравнения за несколько прошлых лет я сбил с нескольких сайтов с Django. В отличие от моего предыдущего опыта, они на самом деле развертываются и выполнение. Процесс разработки Django может быть медленным и тщательным, но он приводит к намного меньшему количеству bitrot и депрекации и документации, которая на самом деле полезна.

Поддержка аутентификации HTTP Django наконец пошла в несколько недель назад, если это - то, к чему Вы обращаетесь в № 3.

21
ответ дан Nicholas Riley 24 November 2019 в 17:43
поделиться

Вы проверили web2py? После недавней оценки многих веб-платформ Python недавно я решил принять этого. Также Google App Engine выезда, если Вы уже не имеете.

2
ответ дан greg 24 November 2019 в 17:43
поделиться

религиозные дебаты между Django и лагерями WSGI

Казалось бы, как будто Вы - немного бита, перепутанного тем, что WSGI и каков Django. Высказывание, что Django и WSGI конкурируют, немного похоже на высказывание, что C и SQL конкурируют: Вы сравниваете яблоки и апельсины.

Django является платформой, WSGI является протоколом (который поддерживается Django) для того, как сервер взаимодействует с платформой. Самое главное обучение использовать WSGI непосредственно немного похоже на изучение блока. Это - большой полезный опыт, но это не действительно что-то, что необходимо сделать для производственного кода (и при этом это не было предназначено, чтобы быть).

Во всяком случае мой совет состоит в том, чтобы понять это для себя. Большинство платформ имеет, "делают Wiki/блог/опрос через час" осуществлением типа. Проведите немного времени с каждым и фигурой, какой Вы любите лучше всего. В конце концов, как можно решить между различными платформами, если Вы не готовы испытать их?

54
ответ дан Jason Baker 24 November 2019 в 17:43
поделиться

Pylons кажется мне отличным инструментом:

  • реальный веб-фреймворк (CherryPy - это просто веб-сервер),
  • небольшая база кода - повторное использование других проектов, написано
  • полностью с учетом WSGI, основанного на Paste,
  • позволяет вам сразу же закодировать приложение и при необходимости коснуться битов нижнего уровня

. Я использовал CherryPy и TurboGears и смотрел на многие другие структуры, но ни один из они были такими легкими и производительными, как Pylons. Посмотрите презентацию в Google .

1
ответ дан 24 November 2019 в 17:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: