ตอนที่แล้วเราไปเอา app เก่าของเรามา reuse ใช้ ในตอนนี้เราจะมาใช้ Form อีกแบบนึงที่ชื่อ ModelForm กัน


หลายๆคนคงจำได้ใช่มั้ยครับสำหรับวิธีการสร้าง Form และ Model และอาจจะเห็นว่ามันก็คล้ายๆกัน Django เลยออกแบบ ModelForm ขึ้นมาให้ ทำให้เวลาเราสร้าง Form เราก็ไม่จำเป็นต้องไปสร้าง field อีก แต่แค่บอกว่ามันเป็น form ของ Model อะไรเลยก็ได้

เนื่องจากว่าเราต้องการสร้างเว็บ Landing page ซึ่งจะมีช่องให้กรอกอีเมลล์แล้วจึงจะนำ Email นั้นไปใส่ Database ผมเลยจะสร้าง model ใหม่ขึ้นมาตัวนึงเพื่อเก็บ email โดยเฉพาะครับ

สร้าง Model ตัวใหม่ แล้วก็อย่าลืมว่าทุกครั้งที่แก้ model ต้อง migrate ด้วย

จากนั้นก็ไปสร้าง Form ที่เป็น ModelForm ของเราใน blog/forms.py

สำหรับ ModelForm อ่านเพิ่มเติมได้ที่ Documentation

สร้าง Form เสร็จแล้วอย่าลืมว่าใน Part ที่แล้ว view เรายังชี้ไปที่ form ที่เป็น form ธรรมดาอยู่ เราต้องไปชี้ใหม่ไปที่ Form ที่เป็น ModelForm

ทีนี้ถ้าเราลองใช้ดูจะได้ผลลัพท์ตามนี้

หน้าเว็บผลลัพท์
ผลลัพท์ console

จะเห็นว่ามันทำงานได้ดีเหมือนใช้ Form ธรรมดาทำครับ


Medium ที่ 31
ปีนี้ผมตั้งใจว่าจะเขียน Medium ให้ได้เดือนละ 4–5 Medium ครับ สิ้นปีก็จะมี 52 Medium เท่ากับจำนวนสัปดาห์ใน 1 ปีพอดี ไม่รู้จะทำได้มั้ย แต่ก็ถือเป็น Passion เล็กๆน้อยๆของผมครับ 5555
ผมเขียนบทความหลายแนวแล้วแต่ว่าอยากเขียนยังไง ถ้าอยากให้กำลังใจช่วยกด Clap ให้ซักที สองทีด้วยนะครับ :D
เจอกันบทความหน้าครับ