Home >Backend Development >Python Tutorial >Python server programming: using Tornado as a web framework
With the popularity of the Internet, the demand for Web applications is also increasing, and Web frameworks have also grown and developed. As a powerful language, Python also shows great advantages in web development. Among the many Python web frameworks, Tornado is an excellent choice.
1. What is Tornado
Tornado is a simple Web framework, open sourced by Facebook, written in Python language, and has very efficient IO operations. Tornado was originally developed to solve the bottleneck problem of FriendFeed, and was later widely used in high-concurrency web applications of Internet companies. Tornado provides asynchronous, non-blocking IO operations, which can cope with high concurrency situations.
2. Why choose Tornado
Tornado is based on asynchronous, non-blocking IO operations, so it is suitable for high-concurrency web applications The program is very advantageous. The IO model used by Tornado is "single-threaded non-blocking IO multiplexing", which can support very high concurrent requests and has relatively low resource usage. This also makes Tornado widely used in some large-scale web applications.
Tornado is small in size, with only a few thousand lines of code. Compared with other web frameworks, Tornado's learning curve is also relatively smooth. Therefore, for some simple web applications, Tornado can be quickly built and deployed.
Tornado not only supports multi-threads and multi-processes, but also supports coroutines. For some IO-intensive operations, coroutines can greatly improve CPU efficiency while avoiding context switching.
3. How to use Tornado
The installation of Tornado is very simple and can be installed through pip:
pip install tornado
The following is a code example to build a simple web application using Tornado:
import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): self.write("Hello, world") def make_app(): return tornado.web.Application([ (r"/", MainHandler), ]) if __name__ == "__main__": app = make_app() app.listen(8888) tornado.ioloop.IOLoop.current().start()
In the above code, we create a MainHandler class, which inherits the tornado.web.RequestHandler class, is used to handle HTTP requests. The make_app() function is used to create a Web application object, and the parameter it accepts is a list containing URL mapping relationships. In this example, we map the URL "/" to the MainHandler class. Next, we call the app.listen() function to start the web server and listen on port 8888. Finally, call tornado.ioloop.IOLoop.current().start() to start the event loop and wait for the arrival of the HTTP request.
4. Summary
Tornado is a very good Python Web framework. It is based on asynchronous and non-blocking IO operations and can handle high-concurrency Web applications. Tornado supports lightweight, coroutine programming, so it is also suitable for some small and medium-sized web applications. Tornado provides a rich API interface to quickly build web applications.
The above is the detailed content of Python server programming: using Tornado as a web framework. For more information, please follow other related articles on the PHP Chinese website!