Поддерживает ли web2py стандартную конфигурацию для каждой среды (разработка, подготовка, производство и т. д.)? Что-то похожее на Grails и Ruby on Rails.
Я читал/просматривал официальную книгу, но ничего не нашел.
Поддерживает ли web2py стандартную конфигурацию для каждой среды (разработка, подготовка, производство и т. д.)? Что-то похожее на Grails и Ruby on Rails.
Я читал/просматривал официальную книгу, но ничего не нашел.
Разработчики web2py не считают это хорошим подходом.
Мы не верим в резкое различие между разработкой и производством. Например, если в приложении есть ошибка, она всегда записывается и регистрируется, никогда не показывается пользователю, а только администратору.
Более того, web2py вообще не имеет файла конфигурации, потому что приложения должны быть переносимыми без изменения настроек.
Тем не менее, вы можете управлять различными средами и более изощренным способом, чем позволяют Rails или Django. Это потому, что модели не импортируются, а выполняются при каждом запросе. Вы добавляете свои собственные условия для обнаружения среды во время выполнения. Например:
settings = dict()
if request.env.http_host == 'http://127.0.0.1:8000'
settings['development']=True
else:
settings['development']=False
if settings['development']:
db = DAL('sqlite://....')
else:
db = DAL('mysql://....')
Вы можете увидеть, как обобщить это на более сложные условия. Конечно, вы можете сделать settings['development']=True или False константой, что эквивалентно Rails.