flask-logo

พัฒนา API ด้วย Flask Application

Flask คือ python webframe work เรียนรู้ได้ง่าย Flask object ที่ทำการ implement WSGI application และมีประสิทธิภาพ มาเรียนรู้ที่จะเริ่มต้นการพัฒนา ไปดูตัวอย่าง ได้ที่ http://flask.pocoo.org/
ติดตั้ง Flask ด้วย pip

Flask application เลือกสร้างได้ สองแบบ
1 สร้าง app.py ด้วยการสร้าง module (ไฟล์ที่มีนามสกุล py) เหมาะกับ application ขนาดเล็ ไม่ได้มีความซับซ้อน

2 สร้าง app.py ด้วยการสร้าง python package (Directory ที่มีไฟล์ __init__.py)

มาดูตัวอย่างแบบง่ายๆๆ ก่อนครับ ให้สร้าง python module

วิธีการ Run


class flask.Flask(import_name, static_path=None, static_url_path=None, static_folder='static', template_folder='templates', instance_path=None, instance_relative_config=False, root_path=None)

import_name จะแทนค่าด้วย __name__ เมื่อมีการเรียก Flask() constructor จะได้รู้ว่าเป็นของ Application อะไร

แต่หากเราได้ประกาศ application ไว้ใน application/app.py สามารถมีทางเลือกที่จะเรียก Flask contructor ได้ดังนี้

parameter ที่สามารถกำหนดให้แก่ constructor

import_name ชื่อ application package
static_url_path path ของ static file สามารถกำหนดได้แต่หากไม่มีการกำหนดจะใช้ค่า Default คือ  static_folder
static_folder  folder  ที่ใช้สำหรับ static file ที่จะใช้สำหรับ static_url_path โดยค่า default คือ static  folder ที่ root ของ application
 template_folder  folder ที่ทำหน้าที่เก็บ  templatesโดยค่า default คือ templates folder ที่ root application
root_path Flask  กำหนดให้เอง อัตโนมัติ เพื่อกำหนด root path ของ Application

คราวนี้ลองมาสร้าง flask app ใน application/__init__.py  อ้างอิงโครงสร้างแบบที่  2 จากด้านบน แต่ การ start application  จะมีสร้าง file ใหม่ที่จะใช้สำหรับการ start  ชื่อ <code>setup.py</code> ไว้ ดังโครงสร้าง

คราวนี้ก็มาสร้าง file ดังนี้
1) file __init__.py สำหรับ flask application

2) views.py
1) file views.py สำหรับ กำหนด route

Circular imports
ในกรณีที่ views.py มีการ import myapp และ ใน __init__.py ก็มีการ import myapp.views แสดงว่า module มีความสัมพันธ์ซึ่งกันและกัน ที่จริงเราไม่ได้ใช้งาน views ที่เรา import เข้ามาใน __init__.py เพียงต้องการที่จะทำให้มั่นใจว่า module จะต้อง import เข้ามา และเราจะวางไว้ ล่างสุดของ file

3 run app

Flask configuration
สร้าง file config ชื่อว่า config.py โดย เป็นfile ที่ใช้สำหรับการ ตั้งค่า configuration ค่า ตัวแปรใน Config ใช้เป็นอักษรตัวใหญ่

โหลด config ใน application

Run App