Viết web đơn giản và thú vị với Flask, cơ bản



  • Flask là một micro web framework cho python: http://flask.pocoo.org/

    Được xếp vào danh mục micro là vì Flask rất nhỏ, cả framework xoay xung quanh giao thức HTTP để phát triển lên. HTTP là linh hồn của WWW, nên mình thấy cách tiếp cận một web framework bắt đầu từ HTTP rất thú vị. Nó giúp người lập trình hiểu tường tận những gì thực sự xảy ra khi người dùng sử dụng một web site/app.

    Cài đặt
    Sử dụng pip
    pip install flask

    Sử dụng easy_install
    easy_install flask

    Nếu bạn dùng windows, bạn có thể cài pip qua trang http://www.lfd.uci.edu/~gohlke/pythonlibs/

    Bắt đầu :-)
    Hai method được sử dụng chính của HTTP là GET và POST.

    GET: download dữ liệu từ webserver về webclient.
    POST: upload dữ liệu từ webclient lên webserver.

    Flask giúp bạn dễ dàng xử lý GET request và POST request từ browser.

    GET
    Chúng ta sẽ viết một web site rất đơn giản để xử lý GET request tới http://localhost:5000/.

    #!/usr/bin/env python
    from flask import Flask
    app = Flask(__name__)
    
    @app.route("/")
    def index():
        return "Hello, World!"
    
    
    if __name__ == "__main__":
        app.run()
    
    

    POST
    Để giới thiệu method POST, chúng ta sẽ viết một site đơn giản để hỏi tên của người dùng, rồi chào người ta :dagger:

    #!/usr/bin/env python
    from flask import Flask, request
    app = Flask(__name__)
    
    @app.route("/", methods=["POST", "GET"])
    def index():
        # cung la url http://localhost:5000
        # request co the la GET hoach POST
        # la GET khi nguoi dung danh url vao browser de load
        # la POST khi nguoi dung submit form
        # o vi du nay chung ta co form voi mot input la name
        if request.method == "GET":
            return '<html><body><p>Chao ban, ban ten la gi?</p><form action="." method="POST"><input type="text" name="name"/><input type="submit" value="Gui ten"/></form></body></html>'
        elif request.method == "POST":
            return '<html><body><p>Chao ban <strong>%s</strong>!</p><form action="." method="POST"><input type="text" name="name"/><input type="submit" value="Gui ten"/></form></body></html>' % request.form["name"]
        else:
            return 'Unknown method'
    
    
    if __name__ == "__main__":
        app.run()
    

    Hy vọng hai ví dụ đơn giản này khiến bạn thích thú tìm hiểu thêm về Flask. Có thời gian mình sẽ post thêm về framework thú vị này với các ứng dụng thực tiễn.

    Chúc vui vẻ! :-)


Hãy đăng nhập để trả lời
 

Có vẻ như bạn đã mất kết nối tới Cộng đồng Python Việt Nam, vui lòng đợi một lúc để chúng tôi thử kết nối lại.