您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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的想法。

我将以下内容放在settings.py中,以区分标准开发服务器和生产服务器:

import sys
RUNNING_DEVSERVER = (len(sys.argv) > 1 and sys.argv[1] == 'runserver')

但是,这也取决于惯例。

Go 2022/1/1 18:22:15 有429人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶