Фляга / Бутылка проектная организация - PullRequest
11 голосов
/ 21 марта 2011

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

Я знаком с Django, и мне нравится, как он немного более структурирован, но ялучше использовать что-то более легкое, но все же мощное.

Ответы [ 5 ]

9 голосов
/ 21 марта 2011

У меня нет опыта работы с Bottle, но взгляните на документы Flask для более крупных приложений. Все приложения Flask используют несколько объектов Flask Module, как рекомендует эта страница, по одному на модуль Python, и, похоже, все работает отлично.

Одна вещь, которая хороша для Module объектов, это то, что вы можете настроить диспетчеризацию для каждого из них, чтобы создать «домены» маршрутизации URL в вашем приложении. Так, например, я пытаюсь включить приложение Windows в некоторый код, поэтому у меня есть CaseInsensitiveModule, который выполняет регистронезависимую диспетчеризацию, и я установил RemoteModule, чтобы превратить HTTP-запросы в методы Python с помощью Flask. / Система маршрутизации Werkzeug.

(Обратите внимание, что в текущих версиях Flask Module с теперь Blueprint с.)

2 голосов
/ 21 марта 2011

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

1 голос
/ 27 октября 2011

Недавно я опубликовал учебник о том, как начать работать с Bottle + Jinja2 в Google App Engine.Мой акцент здесь делается на том, как организовать файлы проекта.Вы можете получить то, что можете использовать: http://codeaspoetry.wordpress.com/2011/11/27/how-to-build-a-web-app-using-bottle-with-jinja2-in-google-app-engine/

1 голос
/ 22 марта 2011

Я знаю, что некоторые люди начали использовать мою собственную статью о том, как сделать это с Flask, хотя, очевидно, есть другие способы сделать это в зависимости от размера проекта;даже я отбрасываю модуль типа каталога для файлового модуля для небольших проектов.Взгляните на http://www.cols -code-snippets.co.uk / 2011/02 / my-take-on-flask-application-skeleton.html

0 голосов
/ 25 сентября 2014

Это действительно зависит от того, чего вы пытаетесь достичь, потому что микро-сервис / приложения / веб-сайты очень просты и легки.Если вы планируете, что ваше приложение будет расти к тому времени, тогда Flask может быть хорошим вариантом для вас, потому что у него много расширений.У нас есть около 40-50 микроуслуг, написанных на бутылках, и мы никогда не сталкивались с какими-либо проблемами.

...