Django Tutorial Part 3 : View

ใน Tutorial Part 3 นี้จะว่าด้วยเรื่องของการสร้าง view

-  ทำการแก้ไขไฟล์  views.py ใน directory Polls  ของโปรเจค



-  สร้างไฟล์  urls.py ใน directoty Polls  แล้วทำการเขียนโค้ดดังรูป



-  ทำการแก้ไขไฟล์  urls.py ใน directory Tutorial  ของโปรเจค ดังรูป


-  ทำการ run server ด้วยคำสั่ง  python manage.py runserver  

-  ไปยัง url http://127.0.0.1:8000/polls  จะได้ผลดังรูป




สามารถศึกษาเพิ่มเติมได้ที่  :   https://docs.djangoproject.com/en/dev/intro/tutorial03/

Django Tutorial Part 2 : Admin site

ใน Tutorial Part 2  นี้เราจะพูดถึงเรื่องการจัดการในส่วนของ admin site

-  ทำการ run server  ของโปรเจคที่ได้เคยทำการสร้างไว้แล้ว ด้วยคำสั่ง

        python manage.py runserver



-  เปิด web browser  แล้วไปที่ url  http://127.0.0.1:8000/admin


- ทำการ Log in ด้วย username  และ password  ตามที่เคยได้ syncdb ไว้ใน tutorial part 1

จะมีแค่ Groups และ Users

-  แก้ไขไฟล์  admin.py  ที่อยู่ใน directory Polls  ของโปรเจค


-  ไปยัง admin ใน Browser อีกครั้ง จะได้ดังรูป


จะเห็นได้ว่ามีส่วนของ Polls เพิ่มมา

-  เข้าไปที่ Polls แล้วไปที่ what's up 

จะได้หน้าสำหรับแก้ไขข้อมูล


      ทดลองเปลี่ยนวันที่ หรือ เวลา แล้วทำการ save จากนั้น กดไปดูที่  History  ซึ่งจะเก็บประวัติการแก้ไขข้อมูลไว้

  • การจัดการรูปแบบการแสดงผล
- เราสามารถจัดลำดับการแสดงผลได้โดยการแก้ไขไฟล์  admin.py  ดังนี้


      from django.contrib import admin 
      from polls.models import Poll
      
      class PollAdmin(admin.ModelAdmin): fields = [’pub_date’, ’question’]
      
      admin.site.register(Poll, PollAdmin) 

      จากการแก้ไข  ทำให้การจัดแสดงผล จะแสดง pub_date ขึ้นก่อน  question


-  แก้ไขไฟล์  admin.py  เพื่อทำให้การแสดงผลแบ่งออกเป็น 2 บล็อก

      from django.contrib import admin 
      from polls.models import Poll
      
      class PollAdmin(admin.ModelAdmin): fieldsets = [
        (None,               {’fields’: [’question’]}),
        (’Date information’, {’fields’: [’pub_date’]}),
    ]

      admin.site.register(Poll, PollAdmin) 



สามารถศึกษาเพิ่มเติมได้ที่  :   https://docs.djangoproject.com/en/dev/intro/tutorial02/

Django Tutorial Part 1 : Django app

Django App

หลังจากที่เราทำการติดตั้ง และสร้างโปรเจค Django แล้ว ใน Tutorial part 1 นี้เราจะมาเรียนรู้วิธีการสร้าง Django App  และคำสั่งพื้นฐานของการสร้าง  Django App 

-  Set Time Zone

ทำได้โดยการเข้าไปแก้ไข Time zone ในไฟล์ setting.py  ของโปรเจค โดยเปลี่ยน TIME_ZONE เป็น Asia/Bangkok
   TIME_ZONE   =  ‘Asia/Bangkok’
การสร้าง  Django App
-  ไปยัง Directory ของ Project ที่เราสร้างไว้  ( เราจะสร้าง app ไว้ที่เดียวกับไฟล์ manage.py )
-  ใช้คำสั่ง  python manage.py syncdb  แล้วใส่ superuser username, e-mail และ password
-  เริ่ม start app โดยใช้คำสั่ง  python manage.py startapp polls
   จะพบว่ามีโฟล์เดอร์  Polls  เพิ่มเข้ามาใน  directory  ของโปรเจคและจะประกอบไปด้วยไฟล์ดังนี้
                    

-  แก้ไขไฟล์  model.py  ของ Polls  ให้เป็นดังต่อไปนี้

     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 ขึ้นมา 2 class ได้แก่ class Poll และ class Choice 
      โดยแต่ละ class จะทำการเก็บค่าเป็นตาราง

-  ทำการเพิ่ม 'polls',  เข้าไปยัง INSTALLED_APPS ในไฟร์ settings.py 


-  ทำการ syncdb ด้วยคำสั่ง  python manage.py syncdb

-  ทดลองการใช้งานร่วมกับ API  โดยต้องเปิดการใช้งาน shell  ด้วยคำสั่ง  python manage.py shell  แล้วพิมพ์คำสั่งต่อไปนี้ 



หลังจากทดลองใช้คำสั่ง Poll.objects.all()  แล้ว จะได้ output ออกมาเป็น  [< Poll : Poll object >]
ซึ่งไม่สามารถดึงค่าที่อยู่ใน Object ออกมาได้  ดังนั้นจึงต้องทำการแก้ไขไฟล์ models.py ให้เป็นดังนี้

       from django.db import models
      class Poll(models.Model): # ...
             def __unicode__(self): # Python 3: def __str__(self): return self.question

      class Choice(models.Model): # ...
             def __unicode__(self): # Python 3: def __str__(self): return self.choice_text 

จากนั้นใช้คำสั่ง Poll.objects.all() อีกครั้ง  จะได้ผลเป็น [<Poll: What’s up?>] คือค่าที่ดึงค่าออกมา 


สามารถศึกษาเพิ่มเติมได้ที่  :  https://docs.djangoproject.com/en/1.6/intro/tutorial01/ 


Getting Started with Django

Django คือโปรแกรม OpenSource ที่ใช้สำหรับพัฒนา web application ซึ่งเขียนในภาษา Python


  • การติดตั้ง  Django  for  Ubuntu Desktop 12.04
การ download และ install Django ทำได้โดยการเข้าไปที่  https://www.djangoproject.com/download/



แล้ว download Django version ที่เราต้องการ ( ผู้เขียนใช้  Django version 1.6 )

การติดตั้ง โดยการเปิด Terminal  ขึ้นมาแล้วใช้คำสั่งต่อไปนี้

    tar xzvf  Django-1.6.tar.gz   ​       <<  ทำการแตกไฟล์ Django ที่ได้ download มา 
     cd  Django-1.6                              <<  เข้าไปยัง folder ที่ได้ทำการแตกไฟล์แล้ว
     sudo python setup.py install         <<  ทำการติดตั้ง  Django

  • เริ่มต้นการใช้งาน Django  :  การสร้าง Project
เปิด Terminal  เพื่อทำการเขียนคำสั่ง โดยใช้คำสั่งต่อไปนี้

    cd  directory*                                           <<  ไปยัง directory* ที่ต้องการเก็บไฟล์เช่น cd Documents/
    django-admin.py startproject name*       <<  สร้าง project โดย name* ให้ระบุชื่อ project ที่เรา                                                                                                                 ต้องการจะใช้ 
    
หากต้องการเปลี่ยนชื่อ project  เช่น จาก Project เป็น projectDjango สามารถทำได้โดยใช้คำสั่ง
    
    mv Project projectDjango

เมื่อเราสร้าง Project เสร็จเรียบร้อยแล้ว จะได้ dircetory ที่ประกอบด้วยไฟล์ดังรูป




  • ทำการ run server  โดยการใช้คำสั่งบน Terminal ดังนี้
    
    cd projectDjango                             
    python manage.py runserver         <<  คำสั่งทำการ run server


จะได้ผลดังนี้


จากนั้นเปิด web browser  ขึ้นมา  โดยพิมพ์ url  เป็น url ที่ได้มา คือ http://127.0.0.1:8000/  ซึ่งเป็นหน้าเริ่มต้นการใช้งาน