โครงสร้างระบบที่สะอาดและสวย พร้อมทั้งสร้าง "admin site" ให้เราอัตโนมัติ เมื่อเราสร้าง models เสร็จครับ และทำ "multiple applications" ใน project เดียวกันได้อย่างแยกจากกันได้ครับ
ติดตั้ง Django ใน Python
เปิด command line กันเลยครับเริ่มแรกให้ติดตั้ง django โดยใช้ pip ด้วยคำสั่งต่อไปนี้ครับ
pip install django django-nose
เว็บแรกที่สร้างโดย Django ชื่อ 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
ติดตามบทความต่อไปนะครับ :)
ขอบคุณครับ
อีกอย่างหนึ่ง ที่เป็นข้อดีของ Django นั่นคือการใช้ BSD license ครับ
ตอบลบปรับปรุงครั้งที่ 1 วันที่ 13/9/2557 เวลา 23.39 น.
ตอบลบขอบคุณครับ
ตอบลบปรับปรุงครั้งที่ 2 วันที่ 14/9/2557 เวลา 8.10 น.
ตอบลบเรื่อง django น่าสนใจครับผมกำลังหัดเขียนอยู่ ยังไงเป็นกำลังใจให้ทำต่อครับ จะเข้ามาอ่านบ่อยๆ
ตอบลบ