Sanic เป็นเว็บเซิร์ฟเวอร์และเฟรมเวิร์กเว็บ Python 3.8+ ที่ถูกเขียนขึ้นเพื่อให้ทำงานได้อย่างรวดเร็ว อนุญาตให้ใช้ไวยากรณ์ async/await
ที่เพิ่มใน Python 3.5 ซึ่งทำให้โค้ดของคุณไม่ถูกบล็อกและรวดเร็ว
Sanic ยังเป็นไปตามมาตรฐาน ASGI ดังนั้นคุณจึงสามารถปรับใช้กับเว็บเซิร์ฟเวอร์ ASGI ทางเลือกได้
ซอร์สโค้ดบน GitHub | กระดานช่วยเหลือและสนทนา | คู่มือผู้ใช้ | แชทบน Discord
โครงการนี้ได้รับการดูแลโดยชุมชนเพื่อชุมชน ยินดีบริจาค!
เป้าหมายของโปรเจ็กต์คือการจัดเตรียมวิธีง่ายๆ ในการเริ่มต้นและใช้งานเซิร์ฟเวอร์ HTTP ที่มีประสิทธิภาพสูง ซึ่งง่ายต่อการสร้าง ขยาย และปรับขนาดได้ในท้ายที่สุด
ลองดู Open Collective เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการให้ทุนแก่ Sanic
pip3 install sanic
Sanic ใช้
uvloop
และujson
เพื่อช่วยในเรื่องประสิทธิภาพ หากคุณไม่ต้องการใช้แพ็คเกจเหล่านั้น เพียงเพิ่มตัวแปรสภาพแวดล้อมSANIC_NO_UVLOOP=true
หรือSANIC_NO_UJSON=true
ณ เวลาติดตั้ง$ ส่งออก SANIC_NO_UVLOOP=true $ ส่งออก SANIC_NO_UJSON=true $ pip3 ติดตั้ง --no-binary :all: sanic
บันทึก
หากคุณใช้งานการติดตั้ง Fedora 28 ขึ้นไปใหม่ทั้งหมด โปรดตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งแพ็คเกจ redhat-rpm-config
ไว้ในกรณีที่คุณต้องการใช้ sanic
ที่มีการพึ่งพา ujson
จากการนำเข้า sanic Sanic จาก sanic.response นำเข้า jsonapp = Sanic ("my-hello-world-app")@app.route ('/') การทดสอบ async def (คำขอ): return json ({'hello': 'world'} )ถ้า __name__ == '__main__':app.run()
Sanic สามารถรันได้อย่างง่ายดายโดยใช้ sanic hello.app
[2018-12-30 11:37:41 +0200] [13564] [INFO] Goin' Fast @ http://127.0.0.1:8000 [2018-12-30 11:37:41 +0200] [13564] [INFO] กำลังเริ่มต้นคนงาน [13564]
และเราสามารถยืนยันได้ว่าใช้งานได้: curl localhost:8000 -i
HTTP/1.1 200 ตกลง การเชื่อมต่อ: Keep-Alive รักษาชีวิต: 5 ความยาวเนื้อหา: 17 ประเภทเนื้อหา: application/json {"สวัสดี":โลก "}
ตอนนี้เรามาสร้างบางสิ่งกันเร็ว ๆ นี้!
เวอร์ชัน Python ขั้นต่ำคือ 3.8 หากคุณต้องการการสนับสนุน Python 3.7 โปรดใช้ v22.12LTS
คู่มือผู้ใช้ บันทึกการเปลี่ยนแปลง และเอกสาร API อยู่ที่ sanic.dev
ถามคำถามหรือเข้าร่วมการสนทนา
เรายินดีเสมอที่จะมีส่วนร่วมใหม่ เราได้ทำเครื่องหมายประเด็นที่ดีสำหรับทุกคนที่ต้องการเริ่มต้น และยินดีรับคำถามในฟอรัม โปรดดูหลักเกณฑ์การบริจาคของเรา