web2py с конфигурацией для среды - PullRequest
3 голосов
/ 31 мая 2011

Поддерживает ли web2py, из коробки, конфигурацию для среды (разработка, подготовка, производство и т. Д.)?Что-то похожее на Grails и Ruby on Rails.

Я прочитал / пролистал официальную книгу, но ничего не смог найти.

1 Ответ

4 голосов
/ 31 мая 2011

Разработчики 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://....')

Вы можете увидеть, как обобщить это на более сложные условия.Конечно, вы можете сделать настройки ['development'] = True или False константой, что является эквивалентным способом Rails.

...