วันพุธที่ 10 พฤษภาคม พ.ศ. 2560

ทำแอพบัญชีรายรับ-รายจ่าย #5

    - ตกแต่งเพิ่มเติม เพิ่มการแสดงผลหากยังไม่มีข้อมูล



    - ทำส่วนของการ import โดยเมื่อมีการ import ไฟล์ csv เข้ามาจะให้ทำการนำไฟล์นั้นไปเก็บไว้ในโฟลเดอร์ upload ก่อน เนื่องจากเว็บแอพไม่สามารถดึงข้อมูลจากไฟล์บนเครื่องผู้ใช้โดยตรงได้ จากนั้นจึงค่อยดึงข้อมูลในไฟล์ไปประมวลผลเพื่อเพิ่มลงใน model โดยจะมี checkbox overwrite ให้เลือก หาต้องการ import ในแบบ overwrite




    - สร้างเมธอดเช็ครายการที่ import ว่าซ้ำกับที่มีอยู่แล้วหรือไม่ หากซ้ำก็จะข้ามรายการนั้นไป




ทำแอพบัญชีรายรับ-รายจ่าย #4

    - ใช้ไฟล์ CSS ในการตกแต่งโดยจะมีการเรียกใช้ภายใน tag head และทำการสร้าง Navigator Bar




    - ทำให้แอพสามารถ Export ข้อมูลออกมาเป็นไฟล์ csv ได้ เพื่อที่ผู้ใช้จะได้สามารถเซฟเก็บไว้ในเครื่องได้





    - แก้ไข Model ใหม่ โดยจะรวม income และ expenses มาเป็น money และใช้ money_type ในการบอกประเภทแทน


ทำแอพบัญชีรายรับ-รายจ่าย #3

    - ทำการตกแต่งหน้าตาให้ดูดีขึ้น





    - อัพโค้ดขึ้น github >> https://github.com/ggwp10059/account

    - นำแอพขึ้นเว็บ pythonanywhere >> http://mystogan.pythonanywhere.com/account/

ทำแอพบัญชีรายรับ-รายจ่าย #2

    - ทำการสร้าง model ขึ้นมา ประกอบไปด้วย

  • save_date วันที่เพิ่มรายการ
  • detail_text คำอธิบายรายการ
  • income รายรับ
  • expenses รายจ่าย
  • balance ยอดเงินคงเหลือ

    - ใช้ intcomma ใน template แทนการใช้ format ในไฟล์ python โดยจะต่างที่การ load humanize ใน template และเพิ่ม 'django.contrib.humanize' ลงไปใน INSTALLED_APPS ในไฟล์ Setting.py ด้วย



ทำแอพบัญชีรายรับ-รายจ่าย #1

   จากที่ได้โหวตกันในคาบเวลาเรียน มติเป็นเอกฉันท์ว่า งานที่ต้องไปทำก็คือแอพบัญชีรายรับ-รายจ่าย ดังนั้นบทความจากนี้ก็จะเป็นบทความรายงานความคืบหน้าต่างๆนะ( ถึงจะอัพบล็อกหลังจากงานเสร็จแล้วก็เถอะ ._. )

    - ทำการสร้างแบบฟอร์มและกำหนด pattern ให้ input ต่างๆ โดยการนำเอา Regular Expression มาใช้ โดยแบบฟอร์มนี้จะวางไว้ที่หน้าแรกเลย



    - แก้ปัญหา Firefox not support input 'date' 😂 ด้วยการนำ jquery จากในอินเตอร์เน็ตมาใช้ (link : https://jqueryui.com/datepicker)

Extra : เพิ่ม-ลบ คำถามและ choice ผ่านทางหน้าเว็บได้

    หลังจากจบ tutorial ไปทั้ง 4 บท ก็ได้รับ Requirement มาว่าควรจากทำให้สามารถที่จะเพิ่ม-ลบ คำถามและ choice ผ่านทางหน้าเว็บได้ เอาล่ะมาเริ่มกันเลย

    ขั้นแรก เราจะทำส่วนของตัวคำถามก่อน เริ่มด้วยการสร้าง template customize_question ขึ้นมา แล้วก็ไปแก้ไข template ของหน้า index ให้มีลิงค์มาหาด้วย



    จากนั้นก็เพิ่มเมธอดที่ใช้เพิ่ม-ลบคำถามที่ไฟล์ views.py ในส่วนของการเพิ่มจะมีการรับค่ามาจากแบบฟอร์มของ template แล้วนำไปใช้เพิ่ม object ใน model Question
    ส่วนการลบนั้น เนื่องจากมีการทำเปน checkbox เพื่อให้สามารถลบได้หลายคำถามในครั้งเดียว ดังนั้นจึงต้องใช้คำสั่ง .getlist() เพิ่มรับค่า id ของคำถามที่เลือกทั้งหมดมาในรูป array จากนั้นจึงวนลูปเพื่อลบคำถามที่เลือกทั้งหมด

วันอังคารที่ 9 พฤษภาคม พ.ศ. 2560

สรุปสั้น Django Tutorial #4

ลิงค์ >> https://docs.djangoproject.com/en/1.11/intro/tutorial04/

สร้างส่วนของแบบฟอร์ม
    คราวนี้ก็จะเป็นการทำให้ app polls มีการโหวตได้กัน โดยเริ่มจากแก้ไขหน้า detail ให้มีส่วนของแบบฟอร์ม


    จากนั้นก็สร้างเมธอด vote ขึ้นมา โดยใน try ก็คือจะมีการรับค่า choice จาก form ใน template detail เข้ามา จากนั้นก็ให้เพิ่มจำนวนในตัวแปร votes ขึ้นไปหนึ่งแล้ว Redirect ไปที่หน้า results แต่ถ้าหากไม่เลือก choice จะเข้าสู่ except ให้ทำการขึ้น error message ออกมา