Tutorial : Sử dụng flask cho người mới bắt đầu

Với mỗi lập trình viên Python phát triển web chắc đã quá quen thuộc với Django. Hôm nay tôi giới thiệu về framework có tuổi đời trẻ hơn và đang phát triển mạnh mẽ là Flask.
Là một lập trình viên tôi từng code web với php, ruby, python. Tôi phát hiện ra Flask là một trong framework mềm dẻo nhất. Đúng với những gì nó được phát triển từ python.
Ứng dụng đầu tiên tôi viết là một micro blog. Hôm nay tôi sẽ chia sẻ về ứng dụng này.
Nếu bạn có máy tính và chạy python thì thật tốt bạn có thể bắt đầu ngay. Nếu không bạn có thể tìm hiểu cài đặt chạy một môi trường ảo của python qua bài viết trước pyenv.
Cài đặt Flask
Đầu tiên bạn mở terminal và cài một môi trường ảo với câu lệnh:

$ python -m venv flask

Tạo một môi trường cho ứng dụng

$ virtualenv flask

Trên Linux bạn sẽ thấy các lệnh cài đặt cho flask:

$ flask/bin/pip install flask
$ flask/bin/pip install flask-login
$ flask/bin/pip install flask-openid
$ flask/bin/pip install flask-mail
$ flask/bin/pip install flask-sqlalchemy
$ flask/bin/pip install sqlalchemy-migrate
$ flask/bin/pip install flask-whooshalchemy
$ flask/bin/pip install flask-wtf
$ flask/bin/pip install flask-babel
$ flask/bin/pip install guess_language
$ flask/bin/pip install flipflop
$ flask/bin/pip install coverage

Bây giờ bạn có 1 thư mục flask trong thư mục microblog. bạn có thể bắt đầu viết ứng dụng đầu tiên của mình. Bạn cd ra folder microblog và tạo cấu trúc thư mực cơ bản cho ứng dụng:

$ mkdir app
$ mkdir app/static
$ mkdir app/templates
$ mkdir tmp

Ở đây thư mục app bạn sẽ đặt các package của ứng dụng. Static bạn đặt các css, js, image. thư mục templates đặt các template.
Tiếp theo trong thư mục app sẽ viết khai báo script cho thư mục app(app/init.py)

from flask import Flask

app = Flask(__name__)
from app import views

Đoạn script trên sẽ tạo ra đối tượng (class Flask) và import views module mà chúng ta sẽ viết.

Views là điều khiển các response cho request từ browser hoặc client khác. Mỗi module đuược viết bằng python và mỗi function view được mapped tới một hoặc nhiều request URLs.

Chúng ta viết function đầu tiên trong (file app/views.py):

from app import app

@app.route('/')
@app.route('/index')
def index():
    return "Hello, World!"

Đoạn view đơn giản trả về 1 string hiển thị cho client là web browser. 2 route trên tạo ra mapping từ URLs / và /index tới function

Bước cuối cùng tạo ra script khởi chạy web server cho ứng dụng. Tạo ra sript run.py và đặt và thư mục root:

from app import app
app.run(debug=True)

Bây giờ để khởi chạy ứng dụng. bạn chạy đoạn script:

$ chmod a+x run.py

Sau đó:

./run.py

Bây giờ bạn có thể bật web browse lên và chay:

http://localhost:5000

Tổng kết
Trong bài viết tôi đã hướng dẫn các bạn cấu hình và chạy ứng dụng đầu tiên với framework Flask. Trong bài sau tôi sẽ hướng dẫn các bạn add thêm các template cho ứng dụng.