Как сделать множество сайтов на одном Flask приложении?
Подскажите как можно сделать множество разных сайтов, с практически одинаковым функционалом, но совершенно разным оформлением на одном приложении написанном с помощью Flask?
Т.е. пишется, что-то вроде CMS и используется для примерно 10 сайтов, на одном VPS.
UPD: Я пока делаю так: Взял диспетчер запросов из документации Flask (есть там такое).
Скрипт сканирует ниже лежащие директории, и если находит в них конфиг, то для каждой директории создаёт экземпляр приложения с настройками указанными в файле, при этом указываются переменные: root_path, instance_path, template_folder, static_folder.
Дальше список экземпляров передаётся в диспетчер, который и выбирает по параметру host в запросе какому приложению передать запрос дальше.
У меня схожая ситуация: два проекта, функционал почти одинаков, иногда приходиться дублировать код, хотел узнать как автор(Lord_Prizrak) вопроса решил свою проблему
Radist_101: Не очень красиво. Собрал приложение в пакет. Создал virtualenv, единый для всех экземпляров. Сами экземпляры находятся в отдельных папках, в которых лежат файлы настроек и стартовые файлы, которые импортируют функцию-фабрику приложения и запускают её.
Всё это дело запускается с помощью uwsgi в emperor режиме. В конфигах для uwsgi приложений указывается общее virtualenv.
Как-то так.
В таком варианте мне видится минус. Если приложение начнёт гнать (мало-ли бывает), то рухнет сразу всё, если делать через диспетчер с кучей разных приложений, то в случае загонов можно пересоздать отдельное приложение и особо не париться.
Не знаю, поэтому не написал. Вообще первый раз подобным занимаюсь, раньше веб-приложения не писал.
Если взять gevent в качестве сервера, то зачем nginx?
Можно поподробнее рассказать или ссылку дать, зачем связка nginx+gevent+программа? Не понимаю зачем так усложнено...