อ่าน 4 นาที
Flask (เฟรมเวิร์กสำหรับเว็บ)
Flask เป็นไมโคร เฟรมเวิร์กเว็บ ที่เขียนด้วย ภาษา Python จัดเป็น ไมโครเฟรมเวิร์ก เนื่องจากไม่ต้องการเครื่องมือหรือไลบรารีเฉพาะ [ 2 ] ไม่มี เลเยอร์การแยก ฐานข้อมูล...
Flask (เฟรมเวิร์กสำหรับเว็บ)
| ฟลาสก์ | |
|---|---|
| นักพัฒนา | อาร์มิน โรนาเชอร์ |
| ปล่อย | 1 เมษายน 2553 |
| เวอร์ชันเสถียร | 3.1.3 [ 1 ] |
| เขียนเป็น | ไพธอน |
| พิมพ์ | เฟรมเวิร์กเว็บ |
| ใบอนุญาต | ใบอนุญาต BSD 3 ข้อ |
| เว็บไซต์ | palletsprojects.com/p/flask/ |
| ที่เก็บข้อมูล | github.com/pallets/flask |
| บทความนี้เป็นส่วนหนึ่งของชุดบทความเกี่ยวกับ... |
| ไพธอน |
|---|
Flaskเป็นไมโครเฟรมเวิร์กเว็บที่เขียนด้วยภาษา Pythonจัดเป็นไมโครเฟรมเวิร์กเนื่องจากไม่ต้องการเครื่องมือหรือไลบรารีเฉพาะ[ 2 ]ไม่มี เลเยอร์การแยก ฐานข้อมูลการตรวจสอบความถูกต้องของฟอร์ม หรือส่วนประกอบอื่นใดที่ไลบรารีของบุคคลที่สามที่มีอยู่แล้วให้ฟังก์ชันทั่วไป อย่างไรก็ตาม Flask รองรับส่วนขยายที่สามารถเพิ่มคุณสมบัติของแอปพลิเคชันได้ราวกับว่าถูกนำไปใช้ใน Flask เอง ส่วนขยายมีอยู่สำหรับตัวแมปอ็อบเจ็กต์เชิงสัมพันธ์การตรวจสอบความถูกต้องของฟอร์ม การจัดการการอัปโหลด เทคโนโลยีการตรวจสอบสิทธิ์แบบเปิดต่างๆ และเครื่องมือที่เกี่ยวข้องกับเฟรมเวิร์กทั่วไปหลายอย่าง[ 3 ]
แอปพลิเคชัน ที่ ใช้เฟรมเวิร์ก Flask ได้แก่PinterestและLinkedIn
ประวัติศาสตร์
Flask ถูกสร้างขึ้นโดยArmin Ronacherจาก Pocoo ซึ่งเป็นกลุ่มผู้ชื่นชอบ Python ระหว่างประเทศที่ก่อตั้งขึ้นในปี 2547 [ 4 ]ตามที่ Ronacher กล่าว แนวคิดนี้เริ่มต้นมาจาก เรื่องตลก วันเอพริลฟูลส์ที่ได้รับความนิยมมากพอที่จะนำมาพัฒนาเป็นแอปพลิเคชันที่จริงจัง[ 5 ] [ 6 ] [ 7 ]ชื่อนี้เป็นการเล่นคำจากเฟรมเวิร์ก Bottle รุ่นก่อนหน้า[ 5 ]
เมื่อ Ronacher และ Georg Brandl สร้างระบบกระดานข่าวที่เขียนด้วย Python ในปี 2547 โครงการ Pocoo Werkzeug และJinjaจึงได้รับการพัฒนา[ 8 ]
ในเดือนเมษายน พ.ศ. 2559 ทีม Pocoo ถูกยุบ และการพัฒนา Flask และไลบรารีที่เกี่ยวข้องได้ถูกส่งต่อไปยังโครงการ Pallets ที่จัดตั้งขึ้นใหม่[ 9 ] [ 10 ]
Flask ได้รับความนิยมในหมู่ผู้ที่ชื่น ชอบ Python ณ เดือนตุลาคม 2020 มีจำนวนดาวบนGitHub มากเป็นอันดับสอง ในบรรดาเฟรมเวิร์กการพัฒนาเว็บด้วย Python รองจากDjango เพียงเล็กน้อย [ 11 ]และได้รับการโหวตให้เป็นเฟรมเวิร์กเว็บยอดนิยมที่สุดในแบบสำรวจนักพัฒนา Python เป็นเวลาหลายปีระหว่างปี 2018 ถึง 2022 [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ]
ส่วนประกอบ
ไมโครเฟรมเวิร์ก Flask เป็นส่วนหนึ่งของPallets Projects (เดิมชื่อPocoo ) และพัฒนาขึ้นโดยอิงจากไมโครเฟรมเวิร์กอื่นๆ อีกหลายตัว โดยทั้งหมดอยู่ภายใต้ใบ อนุญาต BSD
เวิร์กเซก
Werkzeug ( ภาษาเยอรมันแปลว่า "เครื่องมือ") เป็นไลบรารียูทิลิตี้สำหรับภาษาการเขียนโปรแกรม Python สำหรับ แอปพลิเคชัน Web Server Gateway Interface (WSGI) Werkzeug สามารถสร้างอินสแตนซ์ของวัตถุสำหรับการร้องขอ การตอบสนอง และฟังก์ชันยูทิลิตี้ สามารถใช้เป็นพื้นฐานสำหรับเฟรมเวิร์กซอฟต์แวร์ แบบกำหนดเอง และรองรับ Python 2.7 และ 3.5 และเวอร์ชันที่ใหม่กว่า[ 17 ] [ 18 ]
จินจา
Jinja ซึ่งพัฒนาโดย Ronacher เช่นกัน เป็นเอนจินสำหรับสร้างเทมเพลตในภาษาโปรแกรม Python คล้ายกับเฟรมเวิร์กเว็บ Django ตรงที่มันจัดการเทมเพลตในสภาพแวดล้อมแบบแซนด์บ็อกซ์
มาร์คอัพเซฟ
MarkupSafe เป็น ไลบรารีสำหรับการจัดการ สตริงในภาษาโปรแกรม Python ประเภท MarkupSafe ขยายประเภทสตริงของ Python และทำเครื่องหมายเนื้อหาของสตริงนั้นว่าเป็น "ปลอดภัย" การรวม MarkupSafe กับสตริงทั่วไปจะทำการหลีกเลี่ยงอักขระพิเศษในสตริงที่ไม่ได้ทำเครื่องหมายโดยอัตโนมัติ ในขณะเดียวกันก็หลีกเลี่ยงการหลีกเลี่ยงอักขระพิเศษซ้ำซ้อนในสตริงที่ทำเครื่องหมายไว้แล้ว
มันอันตราย
ItsDangerous เป็น ไลบรารีสำหรับ การจัดเก็บและประมวลผลข้อมูล อย่างปลอดภัย ในภาษาโปรแกรม Python โดยใช้สำหรับจัดเก็บเซสชันของแอปพลิเคชัน Flask ลงในคุกกี้เพื่อป้องกันไม่ให้ผู้ใช้แก้ไขเนื้อหาของเซสชันได้
คลิก
Click เป็นแพ็กเกจ Python ที่ Flask ใช้ในการสร้างอินเทอร์เฟซบรรทัดคำสั่ง ( CLI ) โดยมีวิธีการที่เรียบง่ายและประกอบได้สำหรับการกำหนดคำสั่ง อาร์กิวเมนต์ และตัวเลือกต่างๆ
คุณสมบัติ
- เซิร์ฟเวอร์สำหรับการพัฒนาและตัวดีบักเกอร์
- การสนับสนุนแบบบูรณาการสำหรับการทดสอบหน่วย
- การส่งคำขอRESTful
- ใช้การสร้างเทมเพลต Jinja
- รองรับการใช้งานคุกกี้ที่ปลอดภัย (เซสชันฝั่งไคลเอ็นต์)
- เป็นไปตามมาตรฐาน WSGI 1.0 100%
- อิงตามยูนิโค้ด
- เอกสารครบถ้วน
- ความเข้ากันได้กับ Google App Engine
- มีส่วนเสริมเพิ่มเติมที่ช่วยเพิ่มฟังก์ชันการทำงาน
ตัวอย่าง
โค้ดต่อไปนี้แสดงตัวอย่างเว็บแอปพลิเคชันอย่างง่ายที่แสดงข้อความ " Hello World !" เมื่อเข้าชม:
จากflask import Flask app = Flask ( __name__ )@ app.route ( "/" ) def hello ( ) -> str : return "Hello World"ถ้า__name__ == "__main__" : app . run ()เรนเดอร์เทมเพลตด้วย Flask
จากflask นำเข้าFlask , render_templateแอป= Flask ( __name__ )@ app.route ( "/" ) def message ( ): message = "Hello World!"คืนค่าrender_template ( "index.html" , message = message )Jinja ใน HTML สำหรับเทมเพลตการแสดงผล
< ! DOCTYPE html > < html lang = " en " > <head> < meta charset = " UTF - 8 " > <title> { { message } } </title> </head> <body> <p> { { message } } </p> </body> </html>ดูเพิ่มเติม
- Django (เฟรมเวิร์กสำหรับเว็บ)
- ฟาสต์เอพี
- โครงการเสาไฟฟ้า
- พายุทอร์นาโด
- เว็บ2พาย
- การเปรียบเทียบเฟรมเวิร์กเว็บ
ลิงก์ภายนอก
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ Flask (เฟรมเวิร์กสำหรับเว็บ)
Flask เป็นไมโคร เฟรมเวิร์กเว็บ ที่เขียนด้วย ภาษา Python จัดเป็น ไมโครเฟรมเวิร์ก เนื่องจากไม่ต้องการเครื่องมือหรือไลบรารีเฉพาะ [ 2 ] ไม่มี เลเยอร์การแยก ฐานข้อมูล...
ประวัติศาสตร์
Flask ถูกสร้างขึ้นโดย Armin Ronacher จาก Pocoo ซึ่งเป็นกลุ่มผู้ชื่นชอบ Python ระหว่างประเทศที่ก่อตั้งขึ้นในปี 2547 [ 4 ] ตามที่ Ronacher กล่าว แนวคิดนี้เริ่มต้นมาจาก เรื่องตลก วันเอพริลฟูลส์ ที่ได้รับความนิยมมากพอที่จะนำมาพัฒนาเป็นแอปพลิเคชันที่จริงจัง [ 5 ]...
ส่วนประกอบ
ไมโครเฟรมเวิร์ก Flask เป็นส่วนหนึ่งของ Pallets Projects (เดิมชื่อ Pocoo ) และพัฒนาขึ้นโดยอิงจากไมโครเฟรมเวิร์กอื่นๆ อีกหลายตัว โดยทั้งหมดอยู่ภายใต้ใบ อนุญาต BSD
เวิร์กเซก
Werkzeug ( ภาษาเยอรมัน แปลว่า "เครื่องมือ") เป็นไลบรารียูทิลิตี้สำหรับภาษาการเขียนโปรแกรม Python สำหรับ แอปพลิเคชัน Web Server Gateway Interface (WSGI) Werkzeug สามารถสร้างอินสแตนซ์ของวัตถุสำหรับการร้องขอ การตอบสนอง และฟังก์ชันยูทิลิตี้...