Python

การพัฒนา Web Application บน Python ด้วย Django Framework

มารู้จัก Django Framework ที่ใช้ในการสร้าง Web Application ในฝั่งของ Back End ที่พัฒนาด้วยภาษา Python

สำหรับสายพัฒนาเว็บไซต์ บทเรียนนี้มารู้จัก Django Framework ที่ใช้ในการสร้าง Web Application ในฝั่งของ Back End ที่พัฒนาด้วยภาษา Python

บทเรียนที่ควรศึกษาก่อนหน้า:

หลังจาก Basic มานานแล้วก็กระโดดไปล้ำๆ กับ Face Recognition แล้วเราก็ลืมไปเลยว่าเราต้องมีการ Implement เว็บไซต์ในรูปแบบ Web Application ด้วย บทเรียนนี้เลยกลับสู่ Basic กันเหมือนเดิม โดยเราอาจจะใช้ เว็บ Framework ตัวนึงที่ชื่อว่า Django (ออกเสียงว่า แจงโก้) มาใช้การพัฒนาเว็บไซต์กัน

Django เป็น Web Framework ที่พัฒนาด้วยภาษาโปรแกรม Python โดย Framework ของมันจะมีส่วนประกอบ Components ทุกอย่างที่จำเป็น เช่น การเชื่อมต่อ Database ฐานข้อมูล ไปจนถึงการ Render ข้อมูลออกมาให้ฝั่ง Front End แสดงผลแบบ model-view-controller เป็นต้น มาเริ่มกันดีกว่า

ให้เราเปิด Terminal หรือ CMD ขึ้นมาหากเป็น python3 แล้วให้รันคำสั่งต่อไปนี้:

$ pip3 install django==1.11.17

มันจะทำการติดตั้ง Package ของ Django Framework มาใช้ เมื่อเสร็จขั้นตอนนี้เราจะทำการสร้าง django project ขึ้นมาให้เรา Run คำสั่ง:

$ django-admin startproject myweb

โดย myweb คือชื่อ Project ของเราที่ตั้งเอง

  1. manage.py คือไฟล์ script สำหรับรันคำสั่งต่างๆ ที่เกี่ยวข้องกับ Django
  2. settings.py คือไฟล์ที่ใช้เก็บการตั้งค่า Configuration ทั้งหมดของ Project เอาไว้ เช่น การตั้งค่า Database, Language และอื่นๆ เป็นต้น ซึ่งค่าที่เก็บในนี้จะอยู่ในรูปแบบ key — value หรือ JSON ซึ่งไฟล์นี้จะเป็นไฟล์แรกที่ Django เข้ามาอ่านเมื่อเริ่มการทำงานของ web server
  3. urls.py คือไฟล์ที่ใช้เก็บการ Routing ของ HTTP request
  4. wsgi.py คือไฟล์ที่ใช้เก็บข้อมูลของ Django project ของเราใช้สำหรับการ deploy project ขึ้น Google App Engine หรือ Heroku เมื่อต้องการเชื่อมต่อกับ Web Server สำหรับรายละเอียดการ deploy

ถ้าติดตั้งแล้วให้เรา เรียกใช้งาน localhost โดยการรันคำสั่ง:

$ cd myweb
$ python3 manage.py runserver 0.0.0.0:8000

ทดสอบโดยเปิด Browser ไปที่ http://localhost:8000 เว็บไซต์เราก็จะพร้อมใช้แล้ว

ทดสอบหน้าเว็บไซต์
ทดสอบหน้าเว็บไซต์

มาลองสร้าง Route กันหน่อยดีกว่า กด Ctrl C เพื่อยกเลือก localhost ตอนนี้เรามี Project ชื่อ MyWeb แล้ว เราจะทำการสร้าง Web App ใน MyWeb ชื่อว่า cms ให้เราพิมพ์คำสั่ง:

$ cd myweb

แล้วรันคำสั่งสร้างหน้าแอปของเรา cms

$ manage.py startapp cms

ระบบจะทำการสร้าง App ขึ้นมาว่า cms ต่อมาเราจะไปทำ Routing ให้กับเว็บสักหน่อย ให้เราเปิด ไฟล์ใน Path Solution คือ myweb/cms/views.py และ myweb/urls.py

ไฟล์ views.py ให้พิมพ์:

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
def home(request):
    return HttpResponse("Hello Python")

เป็นการกำหนด Routing แรกคือ home โดยถ้าเราเข้ามาหน้า views จะ return Text ธรรมดาว่า ‘Hello Python’ แล้วไปเขียน URL Pattern Matching เพื่อดูว่า request หน้า URL ว่าอะไรในตัวอย่างคือ home จากนั้นจึงค่อยเรียก Python Script ที่ถูกกำหนดใน Regular match มาทำงาน

ไฟล์ urls.py จะเป็นดังนี้:

from django.conf.urls import url
from cms import views
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'home/$', views.home),
]

จะเห็นว่า django จะมี Path หนึ่งมาให้เราใช้งานคือ admin และสร้าง home มาเป็น URL ใหม่สำหรับแสดงผลให้เรารันคำสั่ง:

python3 manage.py runserver 0.0.0.0:8000

เปิด http://localhost:8000/home เราจะเห็นผลลัพธ์ดังนี้:

เข้า http://localhost:8000/home
เข้า http://localhost:8000/home

เป็นไงบ้างครับการสร้างหน้าเว็บไซต์ด้วย Django Framework และ Python ไม่ยากอย่างที่คิดใช่ไหม

Asst. Prof. Banyapon Poolsawas

อาจารย์ประจำสาขาวิชาการออกแบบเชิงโต้ตอบ และการพัฒนาเกม วิทยาลัยครีเอทีฟดีไซน์ & เอ็นเตอร์เทนเมนต์เทคโนโลยี มหาวิทยาลัยธุรกิจบัณฑิตย์ ผู้ก่อตั้ง บริษัท Daydev Co., Ltd, (เดย์เดฟ จำกัด)

Related Articles

Back to top button

Adblock Detected

เราตรวจพบว่าคุณใช้ Adblock บนบราวเซอร์ของคุณ,กรุณาปิดระบบ Adblock ก่อนเข้าอ่าน Content ของเรานะครับ, ถือว่าช่วยเหลือกัน