Python 每个环境配置的web2py

Python 每个环境配置的web2py,python,web2py,Python,Web2py,web2py是否支持按环境(开发、登台、生产等)进行开箱即用的配置?类似于Grails和RubyonRails的东西 我浏览了官方书籍,但什么也没找到。web2py开发者认为这不是一个好方法 我们不相信开发和生产之间的明显区别。 对于eaxmple,如果一个应用程序有一个bug,那么这个bug总是被记录下来,从不向用户显示,只向管理员显示 此外,web2py根本没有配置文件,因为应用程序应该是可移植的,而不会破坏设置 然而,您可以以比Rails或Django更复杂的方式管理不同的环境。这是因为模

web2py是否支持按环境(开发、登台、生产等)进行开箱即用的配置?类似于Grails和RubyonRails的东西


我浏览了官方书籍,但什么也没找到。

web2py开发者认为这不是一个好方法

我们不相信开发和生产之间的明显区别。 对于eaxmple,如果一个应用程序有一个bug,那么这个bug总是被记录下来,从不向用户显示,只向管理员显示

此外,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的等效方法。

好的,到目前为止我一直是这样做的。让我想起了我很久以前的PHP时代。我仍然喜欢清晰的环境区分,但既然这是web2py方式,就这样吧。