Web development is a big concept, and one of the most popular languages for Web development today is Python (the biggest one is of course PHP).
1 WSGI, namely Web Server Gateway Interface
Web development has two foundations:
HTTP protocol
HTML language
There is no need to elaborate on the importance of HTTP protocol in the Web field. Such an important concept, if it is left to developers to implement, it will not When it comes to programming, just understanding the huge protocol will take a lot of time. Fortunately, we realized that the work of implementing the protocol is obviously reusable. The reusable HTTP protocol implementation is encapsulated in the Python library, and there is the most basic library for Python web development: WSGI (Web Server Gateway Interface). WSGI encapsulates the implementation of the HTTP protocol for developers, abstracting network communication into simple functions for receiving and sending datagrams. Readers who have a basic understanding of the HTTP protocol can take a look at the following example.
def application (environ, start_response): start_response('200 OK', [('Content-Type', 'text/html')]) return '<h1>Hello World!</h1>'
The above function is the function form specified by WSGI. It receives two parameters environ and start_response, and returns header and body. From this example, we can see that WSGI has hidden the sending and receiving process of the HTTP protocol from developers, and developers only need to manage what their Web programs have to do, which greatly simplifies the work of developers.
2 Web Framework
WSGI is an important Web development library, so that developers are no longer troubled by the HTTP protocol, but WSGI alone is not enough. In actual development , we hope to have a set of web frameworks that can do more things for developers. Developers want the framework to do more, want the framework to handle access to different URLs, such as access to different directories on the same IP address, and want the framework to handle different forms of access, such as GET, POST, etc.
This talks about the powerful tool for web development using Python: web framework. The web framework provides a higher level of abstraction for web development. Developers can spend less energy on distinguishing various responses and focus on the content of the response. Taking the mainstream Python-Web framework Flask as an example, developers can define separate functions for each URL and each access method. The following code is a simple Web program under the Flask framework.
from flask import Flask from flask import request app = Flask(__name__) @app.route('/', methods=['GET', 'POST']) def home(): return '<h1>Home</h1>' @app.route('/signin', methods=['GET']) def signin_form(): return '''<form action="/signin" method="post"> <p><input name="username"></p> <p><input name="password" type="password"></p> <p><button type="submit">Sign In</button></p> </form>''' @app.route('/signin', methods=['POST']) def signin(): # 需要从request对象读取表单内容: if request.form['username']=='admin' and request.form['password']=='password': return '<h3>Hello, admin!</h3>' return '<h3>Bad username or password.</h3>' if __name__ == '__main__': app.run()
With these basic understandings, we can already use Python for Web development. Of course, what this article talks about is just the most introductory knowledge of using Python for web development. If you want to go deeper, there are many things to learn, such as database management, custom web frameworks, etc.
The above is the detailed content of Can web front-end development be done with Python?. For more information, please follow other related articles on the PHP Chinese website!