如何判断我的Django应用程序是否正在开发服务器上运行?

如何确定我的应用程序是否在开发服务器上运行?我想,我可以检查的价值settings.DEBUG,并假设如果DEBUGTrue那么它的开发服务器上运行,但我更愿意知道肯定不是依靠惯例。

回答:

server = request.META.get('wsgi.file_wrapper', None)

if server is not None and server.__module__ == 'django.core.servers.basehttp':

print('inside dev')

当然,wsgi.file_wrapper可能是在META上设置的,并且django.core.servers.basehttp在另一个服务器环境中有一个模块,该模块通过极端重合命名,但是我希望这可以帮助你。

顺便说一句,我是通过在开发服务器上运行时制作一个语法上无效的模板来发现这一点的,然后在TracebackRequest information部分中搜索了有趣的内容,因此我只是编辑自己的答案以佐证Nate的想法。

以上是 如何判断我的Django应用程序是否正在开发服务器上运行? 的全部内容, 来源链接: utcz.com/qa/427477.html

回到顶部