Конфигурирование фреймворка Flask (Python), как, например, в Zend Framework, Symfony ...
Приветствую.
Во Flask привязка к приложению контроллеров, обработчиков событий и т. п. принято делать непосредственно в модулях, но вот захотелось вынести эти действия во внешний файл или в питоновский словарь. Например, вот так бы это выглядело (Yaml):
# это секция для настройки контроллеров
view: [
{
# это мы указываем вызываемый объект (например функцию index)
action: application.view.index,
# а тут шаблоны url`ов при совпадении с которыми вызывается функция index
route: [/, /index]
}
],
Аналогичное привычным способом выглядело бы так:
# application.view.index
from app import app
@app.route('/')
@app.route('/index')
def index():
return 'Hello, World'
Преимущество в том, что теперь мы можем, не залезая во внутрь исходников, подменять обработчики, контроллеры и т. д. Но... вопрос в том, как такой подход соотносится с философией самого Flask, и вообще здоровая ли это идея, были ли еще у кого-нибудь при работе с этим фреймворком такие потребности?
Спасибо за внимание!
Источник: Stack Overflow на русском