Как делить флеш-приложение на несколько файлов py?

В настоящее время мое приложение-колба состоит из одного файла test.py с несколькими маршрутами и main() маршрута main() . Есть ли способ создать файл test2.py который содержит маршруты, которые не обрабатывались в test.py ?

 @app.route('/somepath') def somehandler(): # Handler code here 

Я обеспокоен тем, что в test.py слишком много маршрутов, и я хотел бы сделать так, чтобы я мог запустить python test.py , который также будет собирать маршруты на test.py как если бы они были частью одного и того же файла. Какие изменения я должен внести в test.py и / или включить в test2.py чтобы заставить это работать?

3 Solutions collect form web for “Как делить флеш-приложение на несколько файлов py?”

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

Однако,

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

Вы можете создать подкомпонент вашего приложения в качестве Blueprint в отдельном файле:

 simple_page = Blueprint('simple_page', __name__, template_folder='templates') @simple_page.route('/<page>') def show(page): # stuff 

И затем используйте его в основной части:

 from yourapplication.simple_page import simple_page app = Flask(__name__) app.register_blueprint(simple_page) 

Чертежи могут также связывать конкретные ресурсы: шаблоны или статические файлы. Пожалуйста, обратитесь к документам Flask для всех деталей.

Я хотел бы порекомендовать колбу в GitHub.

Он обеспечивает простой способ понять чертежи , несколько видов и расширений .

Разделение приложения на чертежи – отличная идея. Однако, если этого недостаточно, и если вы хотите разделить сам Blueprint на несколько файлов py, это также возможно с помощью обычной системы импорта модулей Python, а затем перебирать все маршруты, которые импортируются из других файлов ,

Я создал Gist с кодом для этого:

https://gist.github.com/Jaza/61f879f577bc9d06029e

Насколько мне известно, это единственный возможный способ разделить Blueprint на данный момент. Невозможно создать «под-чертежи» в Flask, хотя есть проблема с большим обсуждением этого:

https://github.com/mitsuhiko/flask/issues/593

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

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