การสร้าง Web Application ด้วย Django ตอนที่ 5


Web Framework ที่ชื่อ Django สามารถสร้าง CRUD ได้ง่ายดาย รวดเร็ว เพียงแต่สร้าง Model ให้ถูกต้อง Django จะจัดการสร้างหน้า Interface ให้อย่างสวยงาม แทบจะไม่ต้องเขียนคำสั่งใด ๆ เลย การปรับแต่งให้เป็นภาษาไทยก็ทำได้ดี

ในตอนนี้จะเป็นการแนะนำการแก้ไขชื่อฟิลด์ที่เป็นลาเบลอยู่ด้านหน้าเท็กฟิลด์จากเดิมที่เป็นภาษาอังกฤษแปลงให้เป็นภาษาไทย เพื่อให้ผู้ใช้งานที่ไม่ถนัดภาษาอังกฤษใช้ป้อนข้อมูลได้ถูกต้อง ตัวอย่างฟอร์มที่เป็นภาษาอังกฤษ ดังภาพแสดงด้านล่างครับ

  หลักการสำคัญแปลงภาษาอังกฤษเป็นภาษาไทยไม่มีอะไรมาก เพียงแต่ไปเพิ่มคำสั่ง encoding ให้เป็น utf-8 และใช้วลี verbose_name ต่อท้ายคำสั่งที่สร้างฟิลด์ใน class Suppliers รายละเอียดและขั้นตอนการทำมีดังนี้

 

  1. เปิดไฟล์ models.py เพื่อแก้ไข
  2. ที่บรรทัดบนสุดให้เพิ่มคำสั่ง    # _*_ encoding: utf-8 _*_
  3. ที่บรรทัดที่ใช้สร้างฟิลด์ เช่น   

     CompanyName = models.CharField(max_length=100)

ให้เพิ่มดังตัวอักษรสีแดง ดังนี้

    CompanyName = models.CharField(max_length=100,verbose_name='ชื่อบริษัท')

ให้ทำทุก ๆ ฟิลด์ แต่ภาษาไทยขึ้นอยู่กับว่าต้องการให้แสดงข้อความลาเบลว่าอย่างไร

ต่อไปเป็นการแก้ปัญหาชื่อตารางหรือชื่อเมนู เช่น Supplierss ที่มีตัว s 2 ตัวและให้เป็นภาษาไทยด้วย มีวิธีการทำดังนี้

  • ที่ไฟล์ models.py เดิม ให้สร้างคลาส Meta อยู่ระหว่างฟิลด์ Homepage และ def __uncode__(self): ให้พิจารณาตัวอักษรสีแดง และการจัดย่อหน้าต้องตรงกันกับฟิลด์ตัวบน  เป็นดังนี้

:

Homepage = models.URLField(blank=True,verify_exists=True,verbose_name='เว็บไซต์')

class Meta:

        verbose_name_plural = 'ข้อมูลผู้จัดจำหน่วย'

        verbose_name = 'ข้อมูลผู้จัดจำหน่วย'

ordering =['CompanyName']  # ordering เทียบเท่า order by

 

def __unicode__(self):

        return self.CompanyName

 

ขั้นตอนถัดไปเป็นการทดลองดูผลการเปลี่ยนแปลง

ถ้ายังไม่ปิด Browser หรือ Stop การ runserver ก็สามารถกดปุ่ม F5 เพื่อ refresh หน้าเว็บนั้นได้ทันที ผลการทำงานดังแสดงในภาพด้านล่าง ซึ่งผมทดลองไม่ป้อนบางฟิลด์ มันแสดงผล Validate ให้ผู้ใช้ทราบด้วย

 

ที่เป็นจุดเด่นของ Django ที่ขอตั้งข้อสังเกตไว้ให้ทราบดังนี้

  • เมื่อพิจารณาคำสั่งที่สร้างฟิลด์โทรศัพท์ และ Home page ได้กำหนดค่าว่า blank=True นั่นหมายความว่ายอมให้ผู้ใช้ไม่ต้องป้อนก็ได้ หรือ คำศัพท์ใน Database ก็คือ null value
  • ในฟิลด์ Home page ได้กำหนดว่า verify_exists=True นั้นเป็นการตรวจสอบการป้อน url ว่ามั่วนิ่มหรือไม่
  • ยังมีจุดเด่นอีกหลายอย่างซึ่งจะได้นำมาเสนอในโอกาสต่อไป
คำสำคัญ (Tags): #django#international#models
หมายเลขบันทึก: 452267เขียนเมื่อ 3 สิงหาคม 2011 21:39 น. ()แก้ไขเมื่อ 18 มิถุนายน 2012 19:35 น. ()สัญญาอนุญาต: ครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกันจำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (0)

ไม่มีความเห็น

อนุญาตให้แสดงความเห็นได้เฉพาะสมาชิก
พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท