python flask

Flask คืออะไร

Flask คือ web framework ที่เขียนขึ้นมาสำหรับ Python เพื่อใช้ร่วมกัน webserver เช่น Apache และได้รับการยอมรับจาก community we pages ชั้นนำเช่น Pinterest, LinkedIn เป็นต้น โดย Flask ถูกเรียกว่า micro framework เพราะว่า มันไม่ต้องการเครื่องมือ หรือ library อะไรมาก อีกทั้ง ไม่จำเป็นต้องมี database ด้วย แต่อย่างไรก็ตาม Flask ก็ยังรองรับการเพิ่ม extensions พิเศษได้ ถ้ามันรองรับ Flask

 

 

ขั้นตอนการติดตั้ง Flask บน Linux

1. Install Flask ด้วย pip

$ pip install flask

 

2. สร้าง directory สำหรับ Flask application

เลือก path ที่จะไว้ทำ application เพราะเรารู้แล้วว่า Flask คือ web application ซึ่งในที่นี้ผมเลือกไว้ที่ “/home/flask” จากนั้นทำการสร้าง folder app รวมถึง folder static และ templates ไว้ภายในซึ่ง

  • static ไว้สำหรับ file ที่อยู่ถาวรเช่น images, javascripts และ CSS file
  • templates เอาไว้เก็บ file template
$ cd /home/flask
$ mkdir app
$ mkdir app/static
$ mkdir app/templates
$ mkdir tmp

 

3. สร้าง __init__.py สำหรับ app package

$ vi app/__init__.py

ใส่ code flask ลงไป

from flask import Flask
 app = Flask(__name__)
from app import views

Script ข้างบนทำหน้าที่สร้าง application object ของ Flask จากนั้น import “views” module ซึ่งเราจะสร้างในข้อถัดไป

 

3. สร้าง views.py

$ vi app/views.py
from app import app

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

Script ข้างบนทำงานโดย เมื่อมีการเรียก webservice มาที่ path “/” หรือ “/index” จะทการ route request นั้นเข้ามาที่ function index() ซึ่งจะทำการ return sting ว่า “Hello, World!” กลับไป

 

4. สร้าง run.py ที่ root folder ของเรา (“/home/flask”)

$ vi run.py
from app import app
app.run(debug=True)

 

5. Set permission และ ทำการ run script

$ chmod a+x run.py
$ python run.py

หลังจาก run แล้ว flask จะทำการ เปิด port default คือ 5000 ขึ้นมา

 

6. ลอง test โดยเข้า web browser แล้วไปที่ URL

http://localhost:5000

หรือ

http://localhost:5000/index

เป็นการเข้าไปยัง path ที่เราเขียนไว้ ผลลัพธ์จะต้องแสดงว่า

Hello, World!

 

กรณีที่เราใช้ร่วมกับ Apache

7. ทำการสร้าง file app.wsgi ที่ root folder ของเรา (“/home/flask”)

#!/usr/bin/python
# coding: utf-8

import sys
 
sys.path.append('/home/flask')
 
from app import app as application

 

8. ทำการ configure apache site สำหรับ flask application

$ cd /etc/apache2/sites-enabled

ทำการ configure default.conf  โดยเพิ่ม

WSGIScriptAlias / /home/flask/app.wsgi

และแก้ permission สำหรับการ read/write folder ของ app เรา

AllowOverride All

 

9. ลอง test ผ่าน webserver โดยเข้า web browser แล้วไป URL ของ server นั้น

http://yourdomain.com/

 

Author: Suphakit Annoppornchai

Credit: https://saixiii.com

2 Thoughts to “Flask คืออะไร Python Flask คือ framwork สำหรับทำ web application”

  1. […] Link: Flask คืออะไร Python Flask คือ framwork สำหรับทำ web application […]

Leave a Reply