Django Academy · บทเรียน

เฟรมเวิร์กข้อความ

แสดงข้อความแจ้งเตือนความสำเร็จและข้อผิดพลาดแก่ผู้ใช้

บทเรียน 3 จาก 413 ขั้นตอน

เฟรมเวิร์กข้อความ เป็นบทเรียน Django Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Django Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Django Academy มีบทเรียนทั้งหมด 4 บทเรียน

ข้อความชั่วคราวคืออะไร

หลังจากดำเนินการบางอย่าง คุณมักต้องการการแจ้งเตือนที่แสดงครั้งเดียว เช่น บันทึกแล้ว! เฟรมเวิร์กข้อความจะแสดงข้อความนั้นในหน้าถัดไป แล้วลืมข้อความนั้นไป ✨

ตั้งค่าไว้แล้ว

โครงการใหม่มีแอป messages พร้อมมิดเดิลแวร์และตัวประมวลผลบริบทมาให้แล้ว คุณจึงเริ่มแสดงการแจ้งเตือนได้ทันที

เพิ่มข้อความ

ในมุมมอง ให้เรียกใช้ messages.add_message พร้อมคำขอ ระดับ และข้อความของคุณ เพื่อเข้าคิวการแจ้งเตือนสำหรับผู้เยี่ยมชม

from django.contrib import messages
messages.add_message(request, messages.SUCCESS, 'Saved!')

ทางลัดที่สะดวก

ข้ามอาร์กิวเมนต์ระดับด้วยตัวช่วยอย่าง messages.success ได้ ตัวช่วยเหล่านี้อ่านเข้าใจง่ายและครอบคลุมระดับที่คุณใช้บ่อยที่สุด

messages.success(request, 'Profile updated.')

ระดับของข้อความ

มีระดับในตัวห้าระดับ ได้แก่ DEBUG, INFO, SUCCESS, WARNING และ ERROR แต่ละระดับจะจับคู่กับแท็ก CSS ที่คุณกำหนดรูปแบบให้แตกต่างกันได้

คำเตือนและข้อผิดพลาด

ใช้ messages.error เมื่อมีบางอย่างล้มเหลว เพื่อให้ผู้เยี่ยมชมเห็นการแจ้งเตือนที่ชัดเจนและมีรูปแบบสีแดง แทนที่จะล้มเหลวโดยไม่มีข้อความ

messages.error(request, 'Could not delete that item.')

ยังคงอยู่หลังการเปลี่ยนเส้นทาง

ข้อความจะถูกเก็บไว้จนกว่าจะแสดงผล จึงยังคงอยู่หลัง การเปลี่ยนเส้นทาง ซึ่งเหมาะอย่างยิ่งกับรูปแบบส่งแบบฟอร์มแล้วเปลี่ยนเส้นทาง

แสดงข้อความในแม่แบบ

ตัวประมวลผลบริบทจะเปิดเผยตัวแปร messages ให้วนลูปผ่านตัวแปรนี้ในแม่แบบหลัก เพื่อให้ทุกหน้าแสดงการแจ้งเตือนได้

{% for m in messages %}
  <li>{{ m }}</li>
{% endfor %}

กำหนดรูปแบบตามระดับ

แต่ละข้อความมี message.tags เช่น success หรือ error ให้นำค่านี้ไปใส่ในคลาสเพื่อกำหนดสีการแจ้งเตือนด้วย CSS

<li class="{{ m.tags }}">{{ m }}</li>

อ่านครั้งเดียวแล้วหายไป

การวนซ้ำผ่านตัวแปร messages จะทำเครื่องหมายข้อความว่า อ่านแล้ว ข้อความจะไม่ปรากฏอีกในคำขอถัดไป ซึ่งเป็นพฤติกรรมของข้อความชั่วคราวที่ต้องการพอดี

ข้อความถูกเก็บไว้ที่ใด

โดยค่าเริ่มต้น ข้อความจะใช้ FallbackStorage ซึ่งจะลองใช้คุกกี้ก่อน และใช้เซสชันเมื่อข้อความยาวเกินกว่าจะเก็บในคุกกี้

ตรวจสอบความเข้าใจอย่างรวดเร็ว

จะเกิดอะไรขึ้นกับข้อความเมื่อแม่แบบวนลูปผ่านข้อความนั้น

ทบทวน

คุณได้เรียนรู้ เฟรมเวิร์กข้อความ: เพิ่มการแจ้งเตือนพร้อมระดับ ให้ข้อความคงอยู่หลังการเปลี่ยนเส้นทาง แสดงผลในแม่แบบหลัก และให้ข้อความหายไปหลังผ่านมุมมองหนึ่งครั้ง ต่อไปคือคุกกี้เทียบกับเซสชัน 🍪

เริ่มต้นได้ฟรี

เรียนรู้ Python ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “เฟรมเวิร์กข้อความ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “เฟรมเวิร์กข้อความ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Django Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Django Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “เฟรมเวิร์กข้อความ”

แสดงข้อความแจ้งเตือนความสำเร็จและข้อผิดพลาดแก่ผู้ใช้ คุณปฏิบัติ Django Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Django Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Django Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “เฟรมเวิร์กข้อความ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Django Academy นี้ได้ไหม

ได้ บทเรียน Django Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เฟรมเวิร์กเซสชัน
  2. การอ่านและเขียน request.session
  3. เฟรมเวิร์กข้อความ
  4. คุกกี้เทียบกับเซสชัน
← กลับไปที่ Django Academy