วันเสาร์ที่ 23 กรกฎาคม พ.ศ. 2559
วิธีใช้ cms api เพิ่ม image plugin ลงไปใน page
ปกติเวลาเราใช้ django cms แล้วเราต้องการเพิ่มรูปภาพในหน้า page ที่เราต้องการ เราจะต้องเข้าไปในหน้า page นั้นแล้วกดโหมด structure กดเลือก image plugin แล้วเลือกรูปภาพที่ต้องการมาใส่ ต่อไปนี้เราจะเสนอโค้ดที่ใช้ทำงานได้ในแบบเดียวกันคือนำไฟล์รูปภาพที่ต้องการมาใส่ในหน้า page ซึ่งรายละเอียดเป็นดังโค้ดด้านล่างนี้from django.contrib.auth.models import User from django.core.files import File from filer.models import Image from cms.api import create_page, add_plugin filename = 'file' filepath = 'path/to/file' user = User.objects.get(username='testuser') with open(filepath, 'rb') as f: file_obj = File(f, name=filename) image = Image.objects.create(owner=user, original_filename=filename, file=file_obj) page = create_page('My Page', 'my_template.html', 'en') placeholder = page.placeholders.get(slot='content') add_plugin(placeholder, 'FilerImagePlugin', 'en', image=image)
จากโค้ดด้านบน เรากำหนดชื่อไฟล์รูปภาพ ที่อยู่ของไฟล์รูปภาพและ user ผู้สร้าง จากนั้นทำการเปิดไฟล์โดยกำหนด 'rb' ด้วยเพื่อป้องกันการเกิดปัญหา EncodingError ต่อมาสร้าง object ของ File จากนั้น นำ object ของ File มาสร้างเป็น Image object ในตัวแปรชื่อ image จากนั้นเราก็สร้าง page กับ placeholder ของ page ที่เราเพิ่งสร้าง ขั้นตอนสุดท้ายก็ทำการเพิ่ม plugin ลงไป
สมัครสมาชิก:
ส่งความคิดเห็น
(
Atom
)
ไม่มีความคิดเห็น :
แสดงความคิดเห็น