python - 具有每个环境配置的 web2py

标签 python web2py

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

关于python - 具有每个环境配置的 web2py,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6180592/

相关文章:

python - "object of type ' 无类型 ' has no len()"错误

python - 有关 Python 代码的帮助

python - 打印字符串模块中所有函数的帮助文档字符串: Python

python - 是否可以使用 PyYAML 读取内部用 "YAML front matter" block 编写的文本文件?

python - 如何在 Python 中比较列表列表中的元素和比较列表列表中的键?

python - 如何将用户重定向到 'view'而不通过web2py中的smartgrid

python - web2py 中跨 session 的全局对象访问?

python - 执行格式错误 : apache + mod_wsgi on Mac OS X Lion

python 3 : Value not printing

python - Python 中 `dict` 的内存分配是如何工作的?