Веб-разработка Python – с картой или без нее

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

Я не использовал фреймворк в PHP-версии, но будучи новым для Python, мне интересно, было бы выгодно использовать что-то вроде Django или, по крайней мере, Genshi. Предостережение: я не хочу, чтобы распределение приложений было перегружено частями структуры, которые мне нужно было бы распространять с помощью приложения.

Использует ли только cgi import в Python лучший способ пойти в этом случае? Я бы склонен думать, что структура слишком много накладных расходов, но, возможно, я не думаю о них очень «python». Какие предложения у вас есть в этом сценарии?

8 Solutions collect form web for “Веб-разработка Python – с картой или без нее”

Командная строка Python, IMO, определенно на первом месте. Получите это, чтобы работать, поскольку это является основой того, что вы делаете.

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

Не используйте голый CGI. Это не невозможно, но слишком много вещей может пойти не так, и все они решены рамками. Зачем изобретать что-то? Просто используйте чужой код.

Рамки связаны с обучением, но никаких реальных «накладных расходов». Они не медленны. Это код, который вам не нужно писать или отлаживать.

  1. Изучите Python.

  2. Сделайте учебник Django .

  3. Начните создавать веб-приложение.

    а. Запустите проект Django. Создайте небольшое приложение в этом проекте.

    б. Создайте свою новую модель с помощью Django ORM. Создайте единичный тест Django для модели. Убедитесь, что он работает. Вы сможете использовать страницы администрирования по умолчанию и много играть. Просто не создавайте весь веб-сайт.

  4. Получите приложение командной строки для работы с помощью Django ORM. По сути, вам нужно усовершенствовать файл настроек для этого приложения, чтобы работать хорошо. См. Раздел настроек / конфигурации .

  5. После того, как вы запустили свою командную строку и администратор по умолчанию, вы можете закончить веб-приложение.

Вот золотое правило фреймворков: это код, который вам не нужно писать, отлаживать или поддерживать. Используй их.

Вы можете подумать о том, чтобы использовать что-то вроде web.py, которое было бы легко распространять (поскольку оно мало), и было бы легко адаптировать к нему другие инструменты, поскольку он не требует, чтобы вы подчинялись структуре, так как Django ,

Однако следует помнить, что это не самая любимая инфраструктура в сообществе Python, но это может быть для вас. Вы также можете проверить web2py , но я об этом меньше знаю.

Зависит от размера проекта. Если бы у вас было только несколько предыдущих php-скриптов, которые называли ваше автономное приложение, я бы, вероятно, пошел на cgi-приложение.

Если вы используете базы данных, переписываете URL, шаблоны, управление пользователями и т. Д., То использование структуры – хорошая идея.

И, конечно же, перед тем, как вы его портируете, подумайте, стоит ли просто переключать язык или нужны конкретные функции Python.

Удачи!

Недавно я портировал приложение PHP на Python, используя web.py. В рамках каркаса это чрезвычайно легкий вес с минимальными зависимостями, и он имеет тенденцию держаться подальше от вашего пути, так что это может быть компромисс, который вы ищете.

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

Django позволяет быстро выскочить на сайт, это точно. Вам не обязательно быть мастером Python, чтобы использовать его, и поскольку он очень питоничен в своем дизайне, и на самом деле не существует какой-либо «магии», это поможет вам изучить Python на этом пути.

Начните с примеров, просмотрите скринкасты django от TwiD, и вы будете в пути.

Начните медленно, настроив администратора, и игра с ним через shell – это способ начать. Как только у вас есть ручка на ORM и получите, как все работает, начните строить настоящие вещи!

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

Пойдите для рамки. Основные вещи, такие как обработка сессий, – это кошмар, если вы не используете один, потому что Python не является веб-специалистом, как PHP.

Если вы считаете, что django слишком много, вы можете попробовать более легкий, как очень маленький, но все же удобный web.py.

Для любви к птенцу используйте рамки! Там есть буквально десятки фреймворков, от вишневого до джанго до альбатроса до … ну .. ты назовешь его. На самом деле огромное количество веб-фреймворков – это то, о чем указывают люди, когда они скулят о популярности Rails.

Сообщество веб-разработчиков Python делится без единого голоса. Но это еще одна тема! Дело в том, что есть «веб-инструментарий» (например, альбатрос), которые достаточно легкие, но достаточно мощные, чтобы вы могли пройти через день (например, автоматическая проверка бота не делала простой фальшивки формы или помогала поддерживать чистоту MVC ).

Если вы хотите что-то, что не «слишком много фреймворков», посмотрите здесь:

http://wiki.python.org/moin/WebFrameworks

Посмотрите в разделе «Основные рамки, обеспечивающие создание шаблонов». Они все легкие и делают все «не изобретать велосипед», не заставляя вас грузовик Mac.

Это зависит от того, как вы собираетесь распространять свое приложение.
Если он будет использоваться только внутри, пойдите для django. С этим приятно работать. Однако джанго действительно не справляется с задачей распределения; django-приложения – это боль для настройки.

  • Какая хорошая легкая инфраструктура MVC Python?
  • удобная для пользователя веб-страница?
  • REST API, работающая с моей программой python вместо базы данных
  • Архитектура с нуля в Python: что использовать?
  • RPC lib для Python
  • Генераторы админов веб-приложений
  • Я пытаюсь выбрать структуру для продукта, который я собираюсь построить, и до сих пор я склоняюсь к Нагаре ... Любые мысли?
  • приложение командной строки python и фреймворки
  • Джанго; Как я могу изменить имя таблицы, используемое, например, django.contrib.sessions?
  • Django - Rest Framework Несколько моделей
  • Существует ли платформа Open Source для создания настольных приложений, работающих в браузере?
  •  
    Interesting Posts for Van-Lav

    Полный proto слишком большой для сохранения, очищенных переменных

    Python gmail imap – получать текст тела электронной почты не в одной строке

    Домашний пивоваренный врач предупреждает о /Library/Frameworks/Python.framework, даже с установленным Python пива

    Pythonic Style для понимания многострочного списка

    Вложенные ресурсы в Django REST Framework

    Python Beginner – Как уравнять линию регрессии от кликов и отображать графически?

    Comsuming MassTransit из Python или других языков

    Являются ли вложенные try / except блоки в python хорошей практикой программирования?

    Подавление научной нотации в Numpy при создании массива из вложенного списка

    Django Rest Framework – вложенная сериализация не работает должным образом

    Индексирование с помощью Маскированных массивов в numpy

    Возможность подсчета для одиночных кроссоверов

    Многопроцессорство в Python: выполнить две функции в одно и то же время

    Python – удаление и замена печатных элементов

    Удаление элемента из списка на основе предиката

    Python - лучший язык программирования в мире.