วันจันทร์ที่ 27 กุมภาพันธ์ พ.ศ. 2560

Ledger (Theme)


    SPN ได้กล่าวเปรยๆเอาไว้ประมาณว่า ถ้าว่างก็ลองทำ Theme ดู ตอนนี้ก็สามารถทำได้แล้ว แต่ด้วยความรู้ที่มีน้อยนิด วิธีการอาจจะดู Hardcore มากเกินไปสักหน่อย

commit ที่มีแค่ 2 commits เกิดจาก ปัญหามันมีไม่เยอะ แต่แก้ลำบากครับ (55+)

    ใน commit แรกสิ่งที่ได้ทำก็จะประมาณว่า ผมสร้างไฟล์ css สำหรับไว้ใช้สำหรับ template แล้วผมก็สร้างไว้ 2 ชุด เพื่อนำไปทำ ธีม แต่ปัญหาก็จะเกิดก็ตอนที่ว่าเปิดไป แล้วเปิดกลับ สิ่งที่เกิดขึึ้นคือ รูปภาพกลับไปยังที่เดิม วิธีแก้ของผมก็คือใส่ ค่า theme ซึ่งเป็นค่าตัวแปรที่รับค่ามาจาก selected_theme เป็นค่าที่รับมาจากปุ่มกด แบบ radio




โดยค่า selected_theme จะถูก request และเก็บในตัวแปร theme
จากฟังก์ชั่น theme_select() ใน views.py


แล้วก็จะใช้ HttpResponseRedirect และ reverse ไปที่ หน้า index และ 
ส่ง argument theme ไปให้เพื่อให้รู้ว่า theme นั้นถูกเลือก


หลังจากนั้นก็จะเปลี่ยนแปลงการเรียกไฟล์ css โดยจะใช้เป็น
/ledger/{{theme}}.css ถ้าหากค่าของ theme = style1 
url ที่ได้ก็จะเป็น /ledger/style1.css

โดยทั้งนี้จะต้องมีการแก้ไข urls.py ด้วยเช่นกัน โดยแก้ไข reg ex เสียใหม่


?P<theme>[a-zA-Z0-9] จะเป็นการรับค่าพวก a-z ได้ และ 
A-Z ได้ และก็สามารถรับ ตัวเลขได้ 0-9 ได้

    แต่ทว่า ผมไม่ค่อยชอบการตกแต่ง templates สักเท่าไรเลยยังไม่ได้ตกแต่งไฟล์ templates ด้วย css เลย 






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

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