[Django] เริ่มโปรเจคใหม่ทั้งที ต้องมีอะไรบ้างนะ? EP.1 — init Project

Isaman Sangbumrung
odds.team
Published in
2 min readJul 27, 2020

สวัสดีครับ หลังจากที่ผมได้มีโอกาสได้นั่งเรียน Django มาแล้วทั้งหมด 2 วันถ้วนจากพี่ Kan Ouivirach ก็เลยอยากจะสรุปเนื้อหาที่ได้เรียนทั้งหมดไว้ในบทความนี้ เผื่อว่าตัวผมเองในอนาคตมีได้กลับมาอ่านจะได้ไม่ลืมว่าตอนที่นั่งเรียนนั้นเราทำอะไรลงไปบ้างนะ เอาละมาเริ่มกันเลยดีกว่า

สิ่งที่ต้องมีก่อนอย่างแรกก็คือ python version 3.7 ขึ้นไปในเครื่องนะครับสำหรับการติดตั้ง python ดูได้ที่นี่เลย python install

ก่อนอื่นให้เราทำการติดตั้ง Virtual environment ของ python ขึ้นมาก่อนเพื่อที่จะจัดการ library ต่าง ๆ ภายในโปรเจคของเรา

python3 -m venv env

จากนั้นเราก็จำทำการเรียกใช้งาน virtual environment ของเราโดยใช้คำสั่งนี้

source env/bin/activate

เราจะเห็นได้ว่าตัว Terminal ของเราจะมีสัญลักษณ์ (env) ปรากฏอยู่นั่นหมายความว่าเราได้แยก library environment ของเครื่องกับของโปรเจคเรียบร้อยแล้ว

จากนั้นเราก็ install ตัว django ได้เลย

pip install Django

ถ้าเราต้องการจะตรวจสอบว่าเรา install django แล้วหรือยังเราก็สามารถตรวจสอบได้ด้วยคำสั่งนี้

pip freeze

ก็จะมี output ออกมาแบบนี้

asgiref==3.2.10
Django==3.0.8
pytz==2020.1
sqlparse==0.3.1

จะสังเกตว่าเรามี library Django version 3.0.8 อยู่ แสดงว่าขั้นตอนนี้ใน virtual environment ของเรามี django เรียบร้อยแล้ว

ต่อไปเรามาเริ่มสร้างโปรเจคกันเลยดีกว่า โดยในการจัดการตัวโปรเจคและแอพต่าง ๆ ใน django นั้นจะใช้คำสั่ง django-admin ถ้าเราต้องการสร้างโปรเจคก็ใช้คำสั่งว่า

django-admin startproject todo

ในคำสั่งนี้ todo คือชื่อโปรเจคของเรา สามารถเปลี่ยนชื่อเป็นอย่างอื่นได้นะ

เมื่อเราสั่ง ls ใน command ดูเราจะเห็นว่ามี folder todo เพิ่มขึ้นมา ลองตรวจสอบดูสิว่า โปรเจคของเรามีโครงสร้างไฟล์แบบในรูปหรือเปล่านะ

โครงสร้างโปรเจค

ทีนี้เราจะเห็นไฟล์ manage.py ตัวนี้สำคัญมาก จะเป็นไฟล์ที่ใช้รันคำสั่งต่าง ๆ ภายในโปรเจคของเรา เพื่อที่จะเรียกใช้ไฟล์นี้ ให้เราเช็คอินเข้าไปที่ folder todo ก่อน

cd todo

จากนั้นลองใช้คำสั่งในการ start server ดูว่าโปรเจคของเราสามารถใช้งานได้หรือเปล่า

python manage.py runserver

ถ้าคำสั่งรันได้แบบไม่มีปัญหาก็ลองเข้าไปที่ http://localhost:8000/ ควรที่จะได้ภาพแบบนี้

ภาพการ start project django

ขอแสดงความยินดีด้วยตอนนี้คุณได้ init project django เสร็จเรียบร้อย

การทำงานกับ Docker , docker-compose

ใน ep.1 ก็สิ้นสุดการ init project กันเรียบร้อยแล้ว ทีนี้ถ้าเราต้องการใช้งานในรูปแบบของ dockerize ก็จะมีธีทำเพิ่มขึ้นมานิดหน่อย ซึ่งการเขียน docker แบบที่ผมทำนี้ยังเป็นแบบ development mode นะครับอย่าเผลอไปใช้ใน production ล่ะ

ก่อนอื่นก็ให้ทำการ install docker และ docker-compose กันก่อนนะครับ

เพื่อที่เราจะสร้าง list ของ library ของเราเพื่อไปลงใน docker เราจะใช้คำสั่ง

pip freeze > requirements.txt

เราจะได้ไฟล์ requirements.txt ออกมาใช้งานต่อในขั้นตอนต่อไป

จากนั้นให้เราสร้างไฟล์ Dockerfile และ docker-compose.yaml ตามตัวอย่างด้านล่างนี้เลยครับ

โครงสร้างโปรเจค

Dockerfile

docker-compose.yaml

เมื่อเราสร้างทั้ง 2 ไฟล์นี้แล้วก็สามารถใช้คำสั่งนี้เพื่อ start server ได้เลย จากนั้นเมื่อ ตรวจสอบที่ http://localhost:8000/ ก็ควรจะได้รูปจรวดของ django ขึ้นมาได้นะครับ

docker-compose up

--

--