首页 > 解决方案 > 为什么 django 开发服务器的行为像单线程,而文档“默认情况下服务器是多线程的。”- 2.1 版

问题描述

我是 Django Web 框架的初学者,我正在使用 Django 2.1.2。现在遇到一个问题,Django是单线程运行还是多线程运行?我查了文档,说'服务器默认是多线程的'。虽然我在我的本地环境中进行了测试,但它就像单线程一样。

我的视图功能是:

class Hello(APIView):
"""
   for testing django single-threading
"""
    def get(self, request):
        print("enter in the view")
        time.sleep(10)
        print("finished...")
        return HttpResponse("finished!")

我通过以下方式在终端中运行 Django 应用程序:

python manage.py runserver

我几乎在同一时间两次请求该 url,响应是:

enter in the view
finished...
[13/Jan/2019 10:43:50] "GET /account/hello HTTP/1.1" 200 9
enter in the view
finished...
[13/Jan/2019 10:44:00] "GET /account/hello HTTP/1.1" 200 9

它像单线程方式一样处理请求,是我做错了什么还是我理解错了,谢谢你的帮助。

标签: django

解决方案


推荐阅读