ระบบควบคุมในการกระจายและเข้าถึงข่าวสาร การประกาศ

วันอังคารที่ 30 สิงหาคม พ.ศ. 2559

การดึงข้อมูลของ text plugin ที่สร้างแล้วออกมา

ไม่มีความคิดเห็น :
    ณ ตอนที่เขียนบทความนี้  ตัวโปรเจ็คเมื่อผู้ใช้งานสร้างข่าวประเภท text แล้วยังไม่สามารถแก้ไขได้  ทำให้ต้องสร้างข่าวใหม่ทุกครั้ง  ในบทความนี้จะนำเสนอเกี่ยวกับวิธีดึงข้อมูลของ text plugin ที่ถูกสร้างแล้วออกมา  เพื่อนำมาประยุกต์ใช้ให้สามารถแก้ไขได้ต่อไป

  ต่อไปนี้จะเป็นโค้ดการทดลองดึงข้อมูลจาก text plugin ออกมา

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
>>> p
<PageList: page803>
>>> placeholders = list(p.page.get_placeholders())
>>> placeholders
[<Placeholder: content>]
>>> place = placeholders[0]
>>> plugins = place.get_plugins_list()
>>> plugins
[<CMSPlugin: 825>]
>>> plug = plugins[0]
>>> plug
<CMSPlugin: 825>
>>> instance, plugin = plug.get_plugin_instance()
>>> instance
<Text: Hello world>
>>> instance.body
'<p><br>\n<img style="height: 162px; width: 162px;" src="/media/uploads/root/2016/08/29/photodj.png" alt=""> Hello world</p>\n'

อธิบายโค้ดด้านบน
  ในบรรทัดที่ 1 กำหนดให้ p เป็น object ของหน้า page ที่มี text plugin ที่เราต้องการอยู่  ต่อมาในบรรทัดที่ 3 ทำการดึง placeholder ทั้งหมดในหน้าของ p ออกมา  จากบรรทัดที่ 5 พบว่ามี placeholder ชื่อ content อยู่ตัวเดียว จึงดึงออกมาเก็บในตัวแปรชื่อ place ในบรรทัดที่ 6    ขั้นต่อมาในบรรทัดที่ 7 เก็บ plugin ทั้งหมดใน place ออกมา  ในบรรทัดที่ี 10 มีการเก็บ plugin นั้นในตัวแปรชื่อ plug   ในบรรทัดที่ 13 ทำการดึง instance ของ text plugin ออกมา  ต้องใช้ 2 ตัวแปรเพราะเป็นรูปแบบที่ถูกกำหนดมาของ text plugin  ต่อมาในบรรทัดที่ 14 เราใช้ตัวแปรชื่อ instance คือ object ที่เป็น text plugin ที่เราอ่านค่าได้ โดยใช้คำสั่งตามบรรทัดที่ 16

ไม่มีความคิดเห็น :

แสดงความคิดเห็น