Can web front-end development be done with Python?

anonymity
Release: 2019-06-14 10:02:17
Original
11138 people have browsed it

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).

Can web front-end development be done with Python?

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 &#39;<h1>Hello World!</h1>&#39;
Copy after login

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(&#39;/&#39;, methods=[&#39;GET&#39;, &#39;POST&#39;])
def home():
    return &#39;<h1>Home</h1>&#39;
@app.route(&#39;/signin&#39;, methods=[&#39;GET&#39;])
def signin_form():
    return &#39;&#39;&#39;<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>&#39;&#39;&#39;
@app.route(&#39;/signin&#39;, methods=[&#39;POST&#39;])
def signin():
    # 需要从request对象读取表单内容:
    if request.form[&#39;username&#39;]==&#39;admin&#39; and request.form[&#39;password&#39;]==&#39;password&#39;:
        return &#39;<h3>Hello, admin!</h3>&#39;
    return &#39;<h3>Bad username or password.</h3>&#39;
if __name__ == &#39;__main__&#39;:
    app.run()
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template