Я начал использовать веб-приложения для создания Django, и теперь я в зависимости от Flask для большинства своих проектов. Я думаю, что декоратор @app.route
в Flask прост, но как только файл становится все больше и больше, картинка url «django style» кажется более благоприятной.Django-стиль флеш-шаблона для большого приложения
Для этого я использовал работу, чтобы имитировать отображение URL-адресов Django, но я не уверен, что это хорошая практика и беспокоит, что может быть проблема с производительностью.
Вот минимальный пример:
# project/views.py
def index():
print "hello index!"
def get_users():
print "hello users!"
# project/urls.py
from project import views
# store url mapping arguments in a list of tuples following this pattern:
# (endpoint, methods, viewfunc)
urls = [
('/', ['GET'], views.index),
('/users', ['GET'], views.get_users)
]
Тогда, наконец:
# project/__init__.py
from flask import Flask
from project.urls import urls
app = Flask(__name__)
# Loop through the urls list to add all url rules to app
for url in urls:
app.add_url_rule(url[0], methods=url[1], view_func=url[2])
Эта структура работает без проблем, и я вижу более чистую организацию моего кода базы, но почему-то я чувствую себя неуверенным, имеющими a loop
внутри моего __init__.py
.
У кого-нибудь есть лучшее решение?