How can I tell whether my Django application is running on development server or not?
django, python, wsgi
Solution
server = request.META.get('wsgi.file_wrapper', None)
if server is not None and server.__module__ == 'django.core.servers.basehttp':
print('inside dev')
Of course, `wsgi.file_wrapper` might be set on META, and have a class from a module named `django.core.servers.basehttp` by extreme coincidence on another server environment, but I hope this will have you covered.
By the way, I discovered this by making a syntatically invalid template while running on the development server, and searched for interesting stuff on the `Traceback` and the `Request information` sections, so I'm just editing my answer to corroborate with Nate's ideas.
Problem
How can I be certain that my application is running on development server or not? I suppose I could check value of `settings.DEBUG` and assume if `DEBUG` is `True` then it's running on development server, but I'd prefer to know for sure than relying on convention.