Tag Archives: Django

Test Driven Development ด้วย Django Unit Testing (ตอนที่ 1)

Django มีสุดยอดแห่ง unit testing ที่ build in มาในตัว framework เรียบร้อยแล้ว, คนมักจะไม่ค่อยใส่ใจกับมันเท่าไรนักเพราะว่ามันมาแบบ “out of the box” แต่นั่นไม่ได้หมายความว่าเราจะละเลยส่วนั้นได้ เมื่อเราสร้าง Application ของเราเองขึ้นมา เพราะว่าเทสต์นั้นทำให้เรา “คิดออก” ว่าอะไรที่ควรจะทำให้เสร็จ เพราะฉะนั้นเราจะมาพูดเรื่องทำอย่างไรให้ Application สามรถทำงานได้เป็นอย่างดี เมื่อมาถึงตรงนี้แล้วผมจะพยายามแสดงให้เห็นว่า ทำยังไงจะใช้ TDD ใน Django Application เราจะสร้าง Project เล็กๆ และมี Application เพียงตัวเดียว และใช้ Unit testing เป็นตัวกำหนด ว่าจะออกแบบ algorithm และจะ implement class อย่างไร

Posted in Django, Python | Also tagged , , Leave a comment

กลับมาเป็นมนุษย์เงินแดือนครั้งแรกในรอบปี

กลับมาทำงานประจำอีกครั้ง หลังจากโดนเมียบ่นมานาน ว่างานฟรีแลนซ์เงินไม่แนนอน ใหนจะค่ารถ ค่านมลูก มีคนเมล์มาตามให้ไปสัมภาษณ์งาน ตอนที่ตัดสินใจไปไม่รู้ด้วยซ้ำ ว่าจะให้ทำอะไร ไปมึนๆทั้งอย่างนั้น พอถามว่าใช้ภาษาอะไรก็ตอบไปแบบไม่มั่นใจ ว่าไพธอน เค้าให้ข้อสอบ c พลัสพลัส มาทำบอกว่าทำตรงใหนไม่ได้ก็ไม่ต้องทำ ข้ามไปได้ ให้เวลาไม่จำกัด ปรากฏว่าล่อไปสี่ชั่วโมงครึ่ง ทำได้แค่ครึ่งเดียวอีกต่างหาก กลับมานั่งรออยู่บ้าน ขับรถยังไม่ถึงบ้านก็โทรมาตามไปสัมภาษณ์อีกครั้งกับ Director ในวันรุ่งขึ้น แอบคิดอยู่ในใจว่างานนี้มีลุ้น นอนกระสับกระส่ายจนเช้า พอเข้ามาอีกครั้ง เค้าหยิบข้อสอบเมื่อวานขึ้นมาถาม ว่าคิดยังไงถึงทำแบบนี้ ตอบไปตรงๆว่า ไม่ถนัดเรื่อง C อิงกับ Concept ของ Python ก็เลยออกมาอย่างที่เห็น เค้าเลยสรุปว่าได้งาน ให้มาเริ่มงานวันจันทร์เลย เขียนแบบที่อยากเขียนได้เลย สรุปว่าได้งานเขียน Django ซะงั้น

Posted in ครอบครัว | Also tagged Leave a comment

The Django template language

เกี่ยวกับเอกสารนี้ เอกสารนี้อธิบายรายละเอียดเกี่ยวกับไวยากรณ์ของ Django Template . หรือมีข้อสงสัยหรือปัญหาการใช้งาน โปรดอ่าน The Django template language: For Python programmers. Django template นั้นออกแบบมาอย่างสมดุลระหว่างความสามารถและความง่ายดาย. มันถูกออกแบบมาให้สามารถทำงานกับ HTML ได้สะดวก นั่นรวมถึง Text-Based อื่นๆด้วย. หลักการ ถ้าคุณเคยมีพื้นฐานการเขียนโปรแกรมที่ฝังโค้ดใน HTML แล้ว คุณจะรู้สึกเหมือนได้กลับบ้านอีกครั้ง การใช้ Django template จะเป็นอะไรที่ง่ายดาย แต่ถ้าหากคุณหวังว่าจะเห็นโค้ด Python ใน Django template แล้ว ต้องขอแสดงความเสียใจที่ทำให้ผิดหวัง The Django template มีฟังชั่นเหมือนกับภาษาโปรแกรมทั่วไป มี if tags เพื่อตรวจสอบเงื่อนไข มี for loop เอาไว้วนให้ปวดหัวเล่น Django template จะรันเพียง template [...]

Posted in Django, Programming, Python | Also tagged , , Leave a comment

Django 1.1 ออกแล้ว

หลังจากติดโรคเลื่อน ในที่สุด Django 1.1 หลังจากติดโรคเลื่อนจนผมถอดใจ ในที่สุด Django ก้ได้ปล่อย stable version ออกมาเสียทีเมื่อเช้านี้ โดยรวมๆแล้วมีการเปลี่ยนแปลงที่ชัดเจนคือหน้าตาของ AdminSite โดยเฉพาะ slugField ที่เพิ่มข้อมูลให้อัตโนมัติ ไม่ต้อมานั่งกรอกเองให้เมื่อยตุ้ม Aggregate ที่เมื่อก่อนทำไม่ได้ ในเวอร์ชั่นนี้สามารถทำได้แล้ว สามารถใช้อะไรอย่าง >>> from django.db.models import Avg >>> Book.objects.all().aggregate(Avg(‘price’)) {‘price__avg’: 34.35} หล่อขึ้นเยอะมากเลยทีเดียว และอีกหลายๆอย่างที่ขี้เกียจเขียน อยากรู้ไปอ่านเองดีกว่าครับ ส่วนเรื่องภาษาไทยนั้น ผมได้ส่งฉบับล่าสุด โดยมีพี่เทพช่วยตรวจสอบให้ โดยพยายามให้เป็นไปในแนวทางเดียวกันกับ tl10n หลายๆจุดปรับปรุงให้ดีขึ้น ลดความกำกวมไปเยอะ โดยทาง Django ได้ปล่อย stable version หลังจากที่เพิ่มภาษาไทยเพียงสี่ชั่วโมง ฉิวเฉียด หวาดเสียวกันจนหยดสุดท้ายจริงๆ ยังไงก็ขอให้สนุกกับการพัฒนาโปรแกรมนะครับ

Posted in Django, Programming | Also tagged , Leave a comment

Django 1.1RC ออกแล้ว เตรียมพร้อมกันหรือยัง

Django 1.1RC ออกมาแล้วเมื่อวันที่ 21 กรกฏาคม ที่ผ่านมา แต่พึงระลึกว่ายังไม่ใช่ตัวหลัก แนะนำว่าอย่าเพิ่งรีบร้อนเอามาใช้ในงานจริง เพราะว่าหากโชคดี คงจะได้เห็นตัวหลักในเวลาอันไกล้ ตอนนี้จะไม่มีการแก้ไขข้อความอะไรเพิ่มตาม หากต้องการจะแปล นี่เป็นโอกาสอันดีแล้วครับ ลุยกันเลย หากต้องการจะลอง สามารถ DOwnload ได้ที่นี่

Posted in Django | Also tagged 1 Comment

ติดตั้ง Django กันดีกว่า

เพราะคนดีย่อมแก้ไข คนจัญไร นั้นแก้ตัว ผมจึงสารภาพตามตรงว่าหลังจากบาร์แคมป์ บางกอก ครั้งที่ 3 แล้ว ความขี้เกียจได้จับตัวกันเป็นก้อน ไม่มีเหตุผลอื่นใดเลย เรื่องที่ติดว่าจะบล็อกเรื่องการ Deploy Django นั้นจึงยังไม่ได้ขึ้นด้วยประการฉะนี้ เกริ่นไปให้มากความ เข้าเรื่องเลยดีกว่า ก่อนอื่นเลยผมขอแยกส่วนต่างๆของโปรเจ็คออกเป็นส่วนๆ เพื่อง่ายต่อการอัพเดต Django (เอาไว้เก็บ Source code ของ django) Media (images, css, javascript) Logs ( ถ้าอยากมี logs ก็เอามันมาไว้ข้างนอกเสีย อย่าเอาไปรวมกับ source code) User-upload ( อะไรที่ user upload ขึ้นมา พึงระวัง) Project source code ( เอาไว้เก็บไฟล์โปรเจ็คของเรา มีอะไรก็อัพเดตมันตรงนี้แหละ) Configuration ( ชื่อก็บอกว่าเก็บคอนฟิก อันนี้ถ้าทำงานหลายๆ คนก็แยกเป็นโฟลเดอร์ย่อยๆ ของใครของมัน [...]

Posted in Programming | Also tagged , , , Leave a comment

Satchmo Django E-Commerce CMS

Installing Dependencies- easy_install pycrypto – easy_install http://code.enthought.com/enstaller/eggs/rhel/3/Reportlab-2.1.0001-py2.5.egg – easy_install django-registration – easy_install http://tinyforge.org/frs/download.php/1/trml2pdf.tar.gz – easy_install PyYAML sudo apt-get install python-trml2pdf Install Django download Django stable version from http://www.djangoproject.com/download/1.0.2/tarball/ Installing Satchmo into your path make new project – django-admin.py startproject mystore uncompress satchmo setupSatchmo – sudo python setup.py install

Posted in CMS | Also tagged , , Leave a comment