Skip to content

เริ่มต้นกับ Django บน Python

สวัสดีครับทุกท่าน บทความนี้เราจะพูดเรื่อง เริ่มต้นกับ Django ครับ Django เป็น Python Web framework  ที่ไดรับความนิยมกันในกลุ่มนักพัฒนา Python คำว่า Django ออกเสียงในภาษาไทยว่า "จังโก้"

โครงสร้างระบบที่สะอาดและสวย พร้อมทั้งสร้าง "admin site" ให้เราอัตโนมัติ เมื่อเราสร้าง models เสร็จครับ และทำ  "multiple applications" ใน project เดียวกันได้อย่างแยกจากกันได้ครับ

ติดตั้ง Django ใน Python

เปิด command line กันเลยครับ
เริ่มแรกให้ติดตั้ง django โดยใช้ pip ด้วยคำสั่งต่อไปนี้ครับ

pip install django django-nose

 

เว็บแรกที่สร้างโดย Django ชื่อ Hello World

เสร็จจากการติดตั้ง Django แล้วเรามาเริ่มสร้าง project กันนะครับ project ของเราคือ hello_world โดยใช้คำสั่งต่อไปนี้ครับ

django-admin.py startproject hello_world

ถ้าผู้อ่านใช้ Windows เหมือนกับผม อาจมีปัญหาดังนี้ครับ

สามารถแก้ไขได้โดยการอ้างอิงที่ตั้งไฟล์ django-admin.py โดยใช้ python ใช้คำสั่งต่อไปนี้ครับ

python C:\Python**\Scripts\django-admin.py startproject hello_world

** คือ เวชั่นของ python เช่น 34 ครับ
เมื่อเราสร้าง projectแล้ว เราจะได้ไฟล์และโฟลเดอร์ดังนี้ครับ
โฟล์เดอร์ hello_world
-manage.py
-hello_world
---__init__.py
---settings.py
---urls.py
---wsgi.py
ต่อมาใช้ command line เข้าไปยังโฟลเดอร์ชื่อเดียวกันกับชื่อ project ที่เราตั้ง นั่นคือ hello_world

cd hello_world/

แล้วทดสอบ project ที่เราสร้างโดยใช้คำสั่งดังนี้ครับ

python manage.py test

ผลการทดสอบ โอเค

เริ่มรัน project django บน server กัน

ใช้คำสั่ง

python manage.py runserver 0:8000

เปิด browser แล้วเข้าตามที่อยู่นี้
http://localhost:8000/
เราจะพบกับหน้านี้ welcome ของ Django เป็น  project ที่เราสร้างครับ

สร้าง app เพื่อใช้แสดงคำว่า Hello World!

app กับ project ต่างกันตรงที่ project เป็นทั้งหมดของเว็บ app เป็นส่วนงานย่อยรองลงมาจาก project ครับ
มาเริ่มลงมือสร้าง app กันครับ

django-admin startapp hello

หรือใน Windows จะเป็น

python C:\Python**\Scripts\django-admin.py startapp hello


ให้ผู้อ่านเข้าไปที่ โฟลเดอร์ hello_world จากโฟลเดอร์ project ของเราครับ เข้าไปแก้ไขในไฟล์ urls.py ให้ลบโค้ดเดิม

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'hello_world.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^admin/', include(admin.site.urls)),
)

แล้วใส่โค้ดนี้ลงไปแทนที่แล้งบันทึกครับ

from django.conf.urls import patterns, include, url
from hello.views import myfunction

# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'sample.views.home', name='home'),
    # url(r'^sample/', include('sample.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # url(r'^admin/', include(admin.site.urls)),
    url(r'hello/$',myfunction),
)

เมื่อทำขั้นตอนที่ผ่านมา เสร็จแล้วเราเข้ามายัง hello แล้วแก้ไขโค้ดในไฟล์ views.py จากโค้ด

from django.shortcuts import render



# Create your views here.

ให้ใส่โค้ดดังนี้ครับ

from django.shortcuts import render

# Create your views here.
from django.http import HttpResponse
def myfunction(request,):
    return HttpResponse("Hello World!")

แล้วบันทึกครับ แล้วลองรัน server กันครับ

python manage.py runserver 0:8000

เข้าไปที่ http://localhost:8000/hello จะพบกับ

Hello World!

โหลดโค้ดตัวอย่างของบทความนี้ได้ที่ https://www.dropbox.com/s/12cmj3bpi1uj08r/hello_world.zip?dl=0
ติดตามบทความต่อไปนะครับ 🙂
ขอบคุณครับ

Published on Categories Django, web-framework

About wannaphong

วรรณพงษ์ ภัททิยไพบูลย์ ผู้ดูแลเว็บ wannaphong.com และผู้เขียนบทความบล็อกนี้ นักศึกษาชั้นปีที่ 1 สาขาวิทยาการคอมพิวเตอร์และสารสนเทศ คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น วิทยาเขตหนองคาย

5 thoughts on “เริ่มต้นกับ Django บน Python

  1. wannaphong

    อีกอย่างหนึ่ง ที่เป็นข้อดีของ Django นั่นคือการใช้ BSD license ครับ

    Reply
  2. Anonymous

    เรื่อง django น่าสนใจครับผมกำลังหัดเขียนอยู่ ยังไงเป็นกำลังใจให้ทำต่อครับ จะเข้ามาอ่านบ่อยๆ

    Reply

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *