วันเสาร์ที่ 14 ธันวาคม พ.ศ. 2556

สรุป Django w6_2

Building Software System II:
สรุป Django w6_2

สรุปผลที่ได้จากการเรียนรู้ Django
  จากการศึกษาและทดลองเรียนรู้ Django Tutorial 1-4 สามารถสรุปวิธีการใช้งาน Django ได้เป็นหัวข้อดังนี้
  1.วิธีการติดตั้ง Django

  2.วิธีการสร้าง Project Django
     - การสร้าง superusers จากการ Sync database     
   
  3.วิธีการแสดงผล บน page admin
    - การสร้าง Template ของ admin

  4.วิธีการสร้างส่วนของการแสดงผลและการรับส่งค่าต่างๆ
  5.วิธีการประมวลผลอย่างง่าย และ การลดรูปของCode

Django with Tutorial part 1

Building Software System II:
Django with Tutorial part 1

เริ่มต้นการเขียน Django app, part 1
  หลังจากที่ทำการติดตั้ง Django ไปแล้ว ก็จะเริ่มต้นใช้งาน Django โดยมีขั้นตอนดังนี้

 วิธีการสร้าง Project
  เปิด terminal และพิมพ์คำสั่งดังนี้
     cd directory/                                                       
  # คำสั่ง cd ตามด้วย directory ที่ต้องการเก็บไฟล์ หากต้องการเลือกที่อยู่ของ project 

    django-admin.py strartproject  name  
  # สร้างโปรเจ็ค django ชื่อ name หรือตั้งเป็นชื่ออื่นๆได้ ตามความเหมาะสมในที่นี้สร้าง project ชื่อ TestTutorial1

    ภายใน root directory ของ project จะมีอีก directory หนึ่งที่ชื่อ name เหมือนกัน ซึ่งจะถูกสร้างโดยอัตโนมัติ หลังจากสร้างโปรเจ็คขึ้นมา ควรจะเปลี่ยนชื่อที่ root directory เพื่อป้องกันการสับสน โดยใช้คำสั่งดังนี้
      mv name new_name
   # เปลี่ยนชื่อ project จาก name เป็น new_name หรือชื่ออื่นตามความเหมาะสมในที่นี้เปลี่ยนเป็น DjangoTestTutorial1

        เมื่อสร้าง project เรียบร้อยแล้ว ลองเข้าไปใน directory ควรจะพบไฟล์ดังนี้
         DjangoTestTutorial/
               manage.py
                TestTutorial/
                    __init__.py
                    settings.py
                    urls.py
                    wsgi.py

การตรวจสอบ sever สำหรับการพัฒนา app
  ทำการ run command ต่อไปนี้     python manage.py runserver
   # คำสั่ง run server โดยใช้
internal IP port 8000 ซึ่งเป็น default port ของคำสั่ง runserver

    ขณะที่ server run อยู่นั้น ให้เปิด browser และ พิมพ์ url ดังนี้
      http://127.0.0.1:8000/ 
    เมื่อพิมพ์
url ดังกล่าว จะพบ page “Welcome to Django” และข้อความ It’s worked! แสดงว่า server สามารถใช้งานได้

การ setup database
  
ให้เข้าไปแก้ไขไฟล์ setting.py ใน sub-directory ของโปรเจ็คในที่นี้คือTestTutorial/setting.pyโดยการแก้ไข Time zone ให้เป็นเขตของเรา ดังนี้
     TIME_ZONE = ‘Asia/Bangkok’
   และทำการแก้ไขส่วน INSTALLED_APPS โดยเพิ่ม ‘polls’ ลงไป   
       INSTALLED_APPS = (
             'django.contrib.admin',
             'django.contrib.auth',
             'django.contrib.contenttypes',
             'django.contrib.sessions',
             'django.contrib.messages',
             'django.contrib.staticfiles',
             'polls',
       )

การสร้าง models
   หลังจากแก้ไขไฟล์แล้ว จึง run command เพื่อสร้าง directory polls ด้วยคำสั่ง
     
python manage.py startapp polls
   จะปรากฏ folders ชื่อว่า polls โดยภายใน directory polls จะมีไฟล์ดังนี้
            polls/
                __init__.py
                admin.py
                models.py
                tests.py
                views.py

ในการสร้าง models นั้นจะใช้ class ในภาษา python มาใช้ในการสร้างโดย เข้าไปแก้ไขไฟล์ใน polls/models.py ให้เป็นดังนี้

   from django.db import models
     class Poll(models.Model):
          question = models.CharField(max_length=200)
          pub_date = models.DateTimeField('date published')

     class Choice(models.Model):
           poll = models.ForeignKey(Poll)
           choice_text = models.CharField(max_length=200)
           votes = models.IntegerField(default=0)

        อธิบายโค้ด
                จากโค้ดข้างต้น แต่ละ class เหมือนกับ 1 ตารางในฐานข้อมูลจากนั้นจึงทำการกำหนดขอบเขตของแต่ละ field 
        class Poll – จะกำหนด field
        question –  เป็นแบบ CharField มีขนาดไม่เกิน 200 ตัวอักษร
       
pub_date – เป็นแบบ DateTimeField สำหรับการใส่วันที่ใน class Choice
        class Choice – จะกำหนดField อีกหนึ่ง Field
        poll – เป็นคีย์จากภายนอกในที่นี้คือ class Poll
        choice_text – เป็น Field แบบเดียวกับ question
        vote – ใช้สำหรับเก็บค่าจำนวนเต็ม โดยมีค่าเริ่มต้นเป็น 0

    จากนั้นให้ทำการ
Synchronous data base เพื่อสร้างตารางฐานข้อมูล ตามการตั้งค่าที่อยู่ในไฟล์ TestTutorial/setting.py ในส่วนของ INSTALLED_APPS โดยคำสั่ง
        
python manage.py syncdb
   เมื่อทำการ run command ดังกล่าว จะเห็นได้ว่ามีการสร้าง table สำหรับ database โดยการอ้างอิงจาก INSTALLED_APPS ใน setting.py จากนั้น โปรแกรมจะถามถึงการสร้าง superusers
    ถ้าต้องการสร้าง superusers ให้พิมพ์คำว่า yes และ username กับ password


ทดลองการใช้งานร่วมกับ API
       
หลังจากผ่านขั้นตอนข้างต้นแล้ว ต่อไปจะเป็นการทดลองการใช้งานร่วมกับ API โดยก่อนอื่นต้องเปิดการใช้งาน shell ด้วยคำสั่ง
           python manage.py shell

 จากนั้นให้ทดลอง database API ตามตัวอย่างดังนี้



อธิบายโค้ด
     จากโค้ดจะเห็นได้ว่าเป็นการกำหนดคำถามและลองเรียกใช้ method ต่างๆ เช่น question = “What’s new?” หรือการกำหนดวันที่ให้เป็นปัจจุบัน หรือแม้กระทั่งการเปลี่ยนคำถามใหม่ อย่าง p.question = “What’s up?”


    ต่อมาลองใช้ฟังก์ชัน Unicode โดยการใส่ฟังก์ชันนี้ไปใน class แต่ละ class  ของไฟล์ models

จากนั้นให้ทดลอง database API ตามตัวอย่างดังนี้


อธิบายโค้ด
    จากโค้ดจะเห็นได้ว่าโค้ดข้างต้นเป็นการลองเรียกใช้ method
โดยที่โค้ดก่อนหน้าไม่มีการใช้ฟังก์ชัน Unicode เวลาที่เรียก object poll ออกมมาจึงแสดงแค่ Poll Object ซึ่งไม่ค่อยมีประโยชน์ในการนำไปไช้ แต่หลังจากเพิ่ม ฟังก์ชัน Unicode ไปแล้ว จึงแสดงผล ออกมาเป็นคำถามที่ save ไว้ก่อนหน้า


แหล่งที่มาและแหล่งค้นคว้าเพิ่มเติม



Django

Building Software System II:
Django
ทำความรู้จักกับ Django
  Django เป็นโปรแกรม Open Source สำหรับพัฒนา web application ซึ่งใช้ภาษา Python
ในการเขียน ซึ่ง Django จะช่วยในการสร้าง web site ทำงานร่วมกับ data base ที่มีความซับซ้อน
ให้ง่ายขึ้นโดยใช้
application รวมไปถึงการ setting ไฟล์ต่างๆ


ขั้นตอนการติดตั้งโปรแกรม Django
  เนื่องจาก Django เป็นโปรแกรมที่เขียนบนภาษา Python ตั้งแต่ version 2.6 เป็นต้นไป เพราะ Python ตั้งแต่ version ดังกล่าวจะมี SQLLite มารองรับ

 
    วิธีตรวจสอบ version Python(บน Linux,Ubantu OS)
    
- เปิด terminal ขึ้นมา และ พิมพ์คำว่า python ลงไป ผลลัพธ์ที่ได้จะมีลักษณะดังนี้(แต่ version ของ python อาจจะแตกต่างกันไป)
       


    เมื่อได้ผลลัพธ์ดังนี้ให้ทำการ Download Django
 
    วิธีการ
Download Django version ล่าสุด
    - วิธีการ Download มีสองวิธีคือ
    1. Download with pip : พิมพ์ command line ดังนี้
      pip install Django==1.6.1                    
    2. Download โดยตรงจาก  Django-1.6.1.tar.gz
      tar xzvf Django-1.6.1.tar.gz
      cd Django-1.6.1
      sudo python setup.py install
      วิธีนี้เป็นการ Download File เข้ามาเก็บไว้ก่อนจนเสร็จ จากนั้นจึงทำการแตกไฟล์โดยเข้าไปใน Directory ที่เก็บไฟล์นี้ไว้ และทำการติดตั้ง
 
    วิธีตรวจสอบผลการติดตั้ง
    
พิมพ์คำสั่งดังต่อไปนี้เพื่อตรวจสอบ
version ของ Django เมื่อทำการติดตั้งเรียบร้อบแล้ว
      >>> import django
      >>> print(django.get_version())
      1.6
      ผลที่ได้ควรจะมี version ของ Django ปรากฏอยู่ ในที่นี้คือ version 1.6
                 


แหล่งที่มาและค้นคว้าเพิ่มเติม