How use Django with Tornado web server?

前端 未结 4 1010
醉话见心
醉话见心 2020-12-22 18:04

How do I use Django with the Tornado web server?

4条回答
  •  情深已故
    2020-12-22 18:43

    it's very simple ( especially with django 1.4) .

    1 - just build your django project( and apps ) and make sure it works fine.

    2- create a new python file at the root folder ( same dir where you used django-admin.py startproject)

    3- then copy the code below , edit the os.environ['DJANGO_SETTINGS_MODULE'] line, and paste it in that new .py file.

    import os
    import tornado.httpserver
    import tornado.ioloop
    import tornado.wsgi
    import sys
    import django.core.handlers.wsgi
    #sys.path.append('/home/lawgon/') # path to your project ( if you have it in another dir).
    
    
    def main():
        os.environ['DJANGO_SETTINGS_MODULE'] = 'myProject.settings' # path to your settings module
        application = django.core.handlers.wsgi.WSGIHandler()
        container = tornado.wsgi.WSGIContainer(application)
        http_server = tornado.httpserver.HTTPServer(container)
        http_server.listen(8888)
        tornado.ioloop.IOLoop.instance().start()
    
    if __name__ == "__main__":
        main()
    

    Django 1.6+ it should be like this:

    import os
    import tornado.httpserver
    import tornado.ioloop
    import tornado.wsgi
    from django.core.wsgi import get_wsgi_application
    
    def main():
        os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings' # path to your settings module
        application = get_wsgi_application()
        container = tornado.wsgi.WSGIContainer(application)
        http_server = tornado.httpserver.HTTPServer(container)
        http_server.listen(8888)
        tornado.ioloop.IOLoop.instance().start()
    
    if __name__ == "__main__":
        main()
    

提交回复
热议问题