เฮ้ที่นั่น! หากคุณเข้าสู่ Django และยังอยู่ในตลาดสำหรับตะขอที่มีคุณภาพคุณมาถูกที่แล้ว ฉันเป็นซัพพลายเออร์เบ็ดและวันนี้ฉันจะแบ่งปันวิธีการใช้ hooks ใน Django แต่ก่อนอื่นให้ฉันแนะนำตะขอที่ยอดเยี่ยมที่เราเสนอ
เรามีตะขอให้เลือกมากมายเช่นClevis Grab Hook- เบ็ดนี้มีประโยชน์มากสำหรับแอปพลิเคชันที่หลากหลาย มันถูกออกแบบมาเพื่อคว้าและถือสิ่งต่าง ๆ อย่างปลอดภัยทำให้เป็นตัวเลือกที่เชื่อถือได้สำหรับโครงการของคุณ
อีกทางเลือกที่ยอดเยี่ยมคือClevis slip hook กับ latch- ฟีเจอร์ล็อคจะเพิ่มความปลอดภัยให้กับเลเยอร์พิเศษเพื่อให้มั่นใจว่าสิ่งที่คุณกำลังติดอยู่ในสถานที่ เหมาะสำหรับสถานการณ์ที่คุณต้องการความปลอดภัยเพิ่มขึ้นอีกเล็กน้อย
แล้วก็มีตะขอสแน็ปด้วยตา DIN5299 แบบฟอร์ม D- ตะขอนี้เป็นที่รู้จักกันดีในเรื่องความทนทานและความหลากหลาย กลไก SNAP ทำให้ง่ายต่อการติดและถอดออกและตาช่วยให้การเชื่อมต่อกับส่วนประกอบอื่น ๆ ง่ายขึ้น
ตอนนี้เรามาดำดิ่งลงไปในวิธีการใช้ตะขอใน Django ตะขอใน Django มีประโยชน์อย่างมากสำหรับการปรับแต่งพฤติกรรมของแอปพลิเคชันของคุณ พวกเขาอนุญาตให้คุณฉีดรหัสของคุณเอง ณ จุดเฉพาะในคำขอ Django - รอบการตอบสนอง
วิธีหนึ่งทั่วไปในการใช้ตะขอคือผ่านมิดเดิลแวร์ มิดเดิลแวร์ใน Django เป็นเหมือนชุดของตะขอที่ดำเนินการก่อนและหลังการประมวลผลมุมมอง คุณสามารถสร้างมิดเดิลแวร์ของคุณเองเพื่อทำงานเช่นการบันทึกการตรวจสอบสิทธิ์หรือการแก้ไขวัตถุคำขอและการตอบสนอง
นี่คือตัวอย่างง่ายๆในการสร้างมิดเดิลแวร์ที่กำหนดเองใน Django ก่อนอื่นสร้างไฟล์ Python ใหม่มาเรียกมันว่าcustom_middleware.py-
คลาส CustomMiddleware: def __init __ (ตัวเอง, get_response): self.get_response = get_response def __call __ (ตัวเอง, คำขอ): # รหัสนี้ถูกดำเนินการก่อนที่มุมมองจะเรียกว่าพิมพ์
ในการใช้มิดเดิลแวร์นี้คุณต้องเพิ่มลงในไฟล์มิดเดิลแวร์การตั้งค่าในsettings.pyไฟล์.
มิดเดิลแวร์ = [ # มิดเดิลแวร์อื่น ๆ ... 'your_app.custom_middleware.custommiddleware',]
อีกวิธีหนึ่งในการใช้ตะขอใน Django คือผ่านสัญญาณ สัญญาณเป็นวิธีที่จะอนุญาตให้ผู้ส่งบางรายแจ้งชุดของผู้รับที่มีการกระทำบางอย่างเกิดขึ้น Django มีหลายสิ่งที่สร้างขึ้น - ในสัญญาณเช่นpre_saveและpost_saveซึ่งจะถูกส่งก่อนและหลังอินสแตนซ์ของแบบจำลอง
สมมติว่าคุณต้องการดำเนินการเพิ่มเติมเมื่อมีการสร้างผู้ใช้ใหม่ คุณสามารถใช้ไฟล์post_saveสัญญาณ.
จาก django.contrib.auth.models นำเข้าผู้ใช้จาก django.db.models.signals นำเข้า post_save จาก django.dispatch ผู้รับนำเข้า @Receiver (post_save, ผู้ส่ง = ผู้ใช้) def user_created
ในตัวอย่างนี้เมื่อใดก็ตามผู้ใช้อินสแตนซ์ถูกบันทึกและเป็นบันทึกใหม่ (เช่นสร้างเป็นจริง),user_createdฟังก์ชั่นจะถูกเรียก
คุณยังสามารถสร้างสัญญาณที่กำหนดเองของคุณเอง ก่อนอื่นกำหนดสัญญาณในไฟล์ Python


จาก django.dispatch นำเข้าสัญญาณ my_custom_signal = signal ()
จากนั้นคุณสามารถส่งสัญญาณจากรหัสของคุณ
my_custom_signal.send (ผู้ส่ง = 'your_sender', some_argument = 'value')
และรับมันโดยใช้ฟังก์ชันตัวรับสัญญาณ
@Receiver (my_custom_signal) def custom_signal_receiver (ผู้ส่ง, ** kwargs): พิมพ์ (f "ได้รับสัญญาณที่กำหนดเองจาก {ผู้ส่ง} พร้อมอาร์กิวเมนต์ {kwargs}")
ตะขอยังสามารถใช้ในบริบทของการแสดงผลแม่แบบ คุณสามารถสร้างแท็กเทมเพลตที่กำหนดเองและตัวกรองซึ่งทำหน้าที่เป็นตะขอในระบบเทมเพลต แท็กเทมเพลตที่กำหนดเองช่วยให้คุณสร้างไวยากรณ์เทมเพลตใหม่ในขณะที่ตัวกรองให้คุณแก้ไขเอาต์พุตของตัวแปรในเทมเพลต
นี่คือตัวอย่างของการสร้างตัวกรองเทมเพลตที่กำหนดเอง
จาก Django Import Template Register = template.library () @register.filter def uppercase (ค่า): return value.upper ()
ในการใช้ตัวกรองนี้ในเทมเพลตคุณต้องโหลดก่อน
{ % โหลด your_custom_filters %} {{some_variable | uppercase}}
การใช้ hooks ใน Django ช่วยให้คุณมีความยืดหยุ่นในการปรับแต่งแอปพลิเคชันของคุณ ไม่ว่าจะเป็นการเพิ่มฟังก์ชั่นที่กำหนดเองให้กับคำขอ - วัฏจักรการตอบสนองการดำเนินการตามเหตุการณ์แบบจำลองหรือเพิ่มเทมเพลตของคุณตะขอเป็นเครื่องมือที่ทรงพลัง
หากคุณสนใจตะขอของเราพวกเขาไม่เพียง แต่ยอดเยี่ยมสำหรับโครงการที่เกี่ยวข้องกับ Django ในแง่ของแอปพลิเคชันทางกายภาพเท่านั้น เราเปิดโอกาสทางธุรกิจใหม่ ๆ เสมอ หากคุณกำลังคิดที่จะซื้อตะขอของเราอย่าลังเลที่จะเข้าถึงและเริ่มการอภิปรายการจัดซื้อจัดจ้าง เราจะมีความสุขมากกว่าที่จะช่วยเหลือคุณในการค้นหาตะขอที่เหมาะสมสำหรับความต้องการของคุณ
ข้อมูลอ้างอิง:
- เอกสารอย่างเป็นทางการของ Django
- คู่มือการเขียนโปรแกรม Python
