Python Django Ep.1 เรียนรู้และพัฒนาเว็บด้วย Django Web Framwork เริ่มสร้างโปรเจคท์พร้อมใช้งานร่วมกับ VS Code

สวัสดีปีใหม่ทุกท่านครับ สำหรับวันนี้ถือเป็นฤกษ์งามยามดี คือวันที่ 1 มกราคม 2563 ซึ่งเป็นวันแรกของปีใหม่ ผมจึงขอเริ่มต้นเขียนบล็อกในซีรี่ย์ที่มีชื่อว่า Django 101 ซึ่งผมจะทำการ Set Zero ใหม่ทั้งหมดและสมมติว่าทุกคนที่กำลังอ่านบล็อกในตอนนี้ เพิ่งเริ่มต้นพัฒนาเว็บแอปพลิเคชันโดยใช้ Django ซึ่งเป็นหนึ่งในเฟรมเวิร์คด้าน Web Development ที่ได้รับความนิยมสูงสุดของภาษาไพธอน และถ้าเพื่อน ๆ เพิ่งเริ่มต้น ไม่ต้องกังวลว่าจะยากเกินไปหรือหาบทความหรือวิดีโอสอนที่เป็นภาษาไทยก็ไม่ค่อยมี ไม่ต้องห่วงครับ ซีรี่ย์นี้ ทำมาเพื่อตอบโจทย์คุณโดยเฉพาะ โดย Django คืออะไรทำไมต้องใช้ศึกษาเฟรมเวิร์คตัวนี้ จะลงลึกและคลายข้อสงสัยในบทความถัดไปครับ หรือเพื่อน ๆ ที่พอทราบบ้างแล้ว ก็ไปลุยกันเลย

อันดับแรกก็ต้องทำการเลือก IDE (Integrated Development Environment) เพื่อที่จะใช้ในการเขียนโค้ดนั่นเอง โดยตัว IDEs ฟรีก็มีอยู่หลายตัวให้เลือก ไม่ว่าจะเป็น Visual Studio Code, Sublime Text, Atom, etc. หลายท่านก็คงต้องสงสัยกันว่า แล้ว PyCharm หายไปไหน ? คำตอบคือ PyCharm ไม่ได้อยู่ในลิสต์ฟรีด้านบน ก็เพราะว่าตัว PyCharm ที่จะใช้ในการพัฒนา Django นั้น จะเป็นเวอร์ชั่น Professional ซึ่งต้องทำการจ่ายตังค์ค่า Lisense ซึ่งถ้าเป็นในรูปแบบ Subscription รายบุคคล ราคาจะอยู่ที่ 89 ยูเอสดอลล่าห์ต่อปี หรือประมาณ 2 พันกว่าบาทเกือบ ๆ 3 พัน ที่ต้องใช้เวอร์ชั่น Professional เพราะตัว Community (Free) ไม่เหมาะสำหรับพัฒนา Django เพราะฟีเจอร์บางตัว เช่น ไม่สามารถสร้างไฟล์ css, js ได้ ดังนั้น จึงเป็นอุปสรรคในการพัฒนาแน่นอน ซึ่งถ้าใครที่ต้องเขียน Django อยู่บ่อย ๆ และโปรเจคท์มีความซับซ้อนขึ้นไปอีก กับตังค์ 2 พันกว่าบาทที่ต้องจ่ายให้ PyCharm ผมก็มองว่าคุ้มนะครับ เพราะ IDE ตัวนี้ค่อนข้างจะฉลาด มีข้อเสียอย่างเดียวคือโหลดและหนักเครื่องพอสมควร

กลับมาที่ตัว IDE ฟรี ซึ่งในบทความนี้ผมได้เลือก Visual Studio Code ก็เพราะว่าเบาหวิวและมี Extensions ให้เลือกใช้เยอะ เพื่อเป็นการไม่เสียเวลาเราไปติดตั้ง VS Code พร้อม ๆ กันเลย

  1. ติดตั้ง Visual Studio Code (ผมใช้ Windows)

2. เปิดไฟล์ที่ได้ดาวน์โหลดไปเมื่อสักครู่ขึ้นมา

3. กด Accept แล้ว next ไปเรื่อย ๆ

4. จะมีหน้าต่างให้คลิ๊กเลือก โดย ช่องแรกบนสุดจะเป็นการให้ไอค่อนของ VS Code ไปโชว์ที่หน้าเดสก์ท็อป ส่วนด้านล่างผมก็ติ๊กถูกทุกช่อง

5. คลิ๊ก Install ได้เลย

6. รอให้โปรแกรมติดตั้งจนเสร็จ โดยใช้เวลาไม่น่าจะถึง 20 วินาทีโดยประมาณ คลิ๊ก Finish เป็นอันว่าเสร็จสิ้นการติดตั้งตัว IDE ของเรา

7. ตอนนี้ เราก็สามารถเริ่มใช้งาน VS Code ได้แล้ว โดยไอค่อนก็จะไปปรากฏอยู่บนหน้าเดสก์ท็อปของเรา ดับเบิ้ลคลิ๊กเพื่อเริ่มต้นใช้งานได้เลย

8. จะปรากฎหน้าต่างแบบนี้ ขึ้นมาในตอนเริ่มต้น

9. คลิ๊กที่ไอค่อนไฟล์ 2 อันซ้อนกันเพิ่อเตรียมเข้าสู่หน้า Workspace ของเรา จะเห็นว่าตอนนี้เรายังไม่มีไฟล์หรือโฟลเดอร์งานใด ๆ ของเราทั้งสิ้น

10. ทำการ Install ตัวปลั๊กอิน Python Extension

11. Extension ตัวต่อมาที่เราจะทำการ Install และ Enable เพื่อใช้งานคือ Djaneiro ซึ่งเป็นตัว Django Code Snippets สำหรับ VS Code ของเรา

12. เปิดหน้า Command Prompt ขึ้นมา เพื่อที่เราจะใช้สร้างโฟลเดอร์โปรเจคท์ของเราผ่านตัวคอมมานด์ไลน์

13. สร้างโปรเจคท์และ Virtual Environment ให้กับโปรเจคท์

ตอนนี้เรายังไม่มีโปรเจคท์หรือไฟล์งานใด ๆ ทั้งสิ้นและทุกครั้งที่มีการสร้างโปรเจคท์ควรจะทำการเซ็ตอัพ Virtual Environment ให้กับโปรเจคท์ของเรา ซึ่งจะเป็นการ Isolate โปรเจคท์ของเราไม่ให้เป็น Global Environment ดังนั้นจึงง่ายต่อการจัดการกับโปรเจคท์และเวอร์ชั่นของแพคเกจต่าง ๆ ในโปรเจคท์ของเรา ขั้นตอนมีดังนี้

13.1 พิมพ์คำสั่ง mkdir myproject

13.2 พิมพ์คำสั่ง cd myproject เพื่อชี้ไปที่รูตของโฟลเดอร์นี้

13.3 พิมพ์คำสั่ง python -m venv myenv

note: สำหรับ mac/linux ให้ใช้คำสั่งpython3 -m venv myenv

13.4 ทำการเรียกใช้งานหรือ Activate ตัว virtual Environment ของเราโดยใช้คำสั่ง

myenv\Scripts\activate

myenv คือชื่อหรือโฟลเดอร์ที่เก็บ Virtual Environment ในโปรเจคท์นี้ สามารถกำหนดชื่อได้ตามต้องการโดยส่วนใหญ่ที่นิยมใช้ก็จะเป็น env เป็นต้น

note: สำหรับ mac/linux ให้ใช้คำสั่ง

source env/bin/activate

14. ตอนนี้ Virtual Environment ได้ถูกสร้างขึ้นมาในโปรเจคท์เรียบร้อย

15. ทำการติดตั้ง Django เข้ามาในโปรเจคท์ของเรา โดยใช้คำสั่ง pip install django==2.2 (ใช้เวอร์ชั่น 2.2)

16. ทำการเช็คว่าตอนนี้แพ็คเกจของเราในโปรเจคท์มีอะไรบ้าง โดยใช้คำสั่ง pip freeze

17. มาถึงขึ้นตอนนี้ ก็มาถึงเวลาที่เราจะสร้างโปรเจคท์ให้กับ Django กันแล้ว โดยการสร้างก็สามารถทำได้โดยพิมพ์ django-admin startproject project1 โดยชื่อโปรเจคท์ของเราคือ project1 เมื่อเข้าไปที่ path ที่เราใช้เก็บโฟลเดอร์โปรเจคท์ของเราและ Virtual Environment ก็จะพบกับโฟลเดอร์ 2 โฟลเดอร์ คือ myenv และ project1

path ที่ใช้เก็บโฟลเดอร์โปรเจคท์

18. กลับไปที่ VS Code คลิ๊ก “Open Folder” เพื่ออิมพอร์ตโฟลเดอร์โปรเจคท์ของเราเข้ามาใน Workspace ของ VS Code

19. คลิ๊ก “View” เลือก Command Palette

20. คลิ๊ก “Python Select Interpreter”

21. จะปรากฎตัว Project Interpreter ที่เราได้สร้าง Virtual Environment ไว้ก่อนหน้า ให้ทำการคลิ๊กเลือกได้เลย

22. เสร็จแล้ว จากนั้นทำการทดสอบเปิดไฟล์ settings หรือไฟล์ไหนก็ได้ในโปรเจคท์ของเราขึ้นมา สังเกตเห็นว่าหน้า path โปรเจคท์ของเรายังไม่ได้มี (myenv) ในเทอร์มินอลของ VS Code

23. คลิ๊ก “Debug” เลือก “Start Debugging”

24. เลือก “Django”

25. คลิ๊ก Enter

26. VS Code จะ Generate ไฟล์ .json มาให้อัตโนมัติ 2 ไฟล์ นั่นคือ launch.json และ settings.json เอาไว้คอนฟิกค่าต่าง ๆ

27. จากนั้นไปที่โฟลเดอร์ myenv → Scripts → Activate.ps1 เป็นอันเสร็จสิ้น เพียงเท่านี้เราสามารถรันผ่าน Terminal ของ VS Code ได้เรียบร้อยสะดวกโยธิน โดยมี Virtual Environment ที่เราได้สร้างไว้ก่อนหน้า

หรือจะทำการ Activate ใน Terminal ของ Visual Studio Code ได้โดยตรงต่อจาก Path โปรเจคท์ของเรา

myenv\Scripts\activate

จะได้

PS C:\User\your-username\myproject>myenv\Script\activate

28. ทำการชี้ไปที่โฟลเดอร์โปรเจคท์ของเรา นั่นก็คือ project1 เพื่อรันเซิร์ฟเวอร์ เพราะว่าไฟล์ manage.py ซึ่งเป็นไฟล์ที่ใช้สำหรับรันเซิร์ฟเวอร์อยู่ในรูตเดียวกันกับโปรเจคท์ จากนั้นพิมพ์คำสั่ง py manage.py runserver เพื่อทำการรันเซิร์ฟเวอร์

29. คลิ๊กปุ่ม ctrl ที่คีย์บอร์ดและเมาส์ชี้ไปคลิ๊กที่ลิ้งค์ http://127.0.0.1:8000/

30. Django ทำงานได้ถูกต้องไม่มีข้อผิดพลาด

ครับก็จบลงไปแล้วสำหรับ Ep.1 ซึ่งจะเป็นการสอนติดตั้งตัว IDE เพื่อใช้ในการเขียนโปรแกรมของเรา และการสร้าง Virtual Environment ให้กับโปรเจคท์ของเรา ซึ่งผมก็หวังว่าคงเป็นประโยชน์ให้กับเพื่อน ๆ ที่กำลังจะเริ่มต้นเขียน Django แต่ไม่รู้จะเริ่มต้นยังไง หรือปวดหัวกับการสร้าง Environment ให้กับโปรเจคท์ของเรา ผมก็หวังว่าบทความนี้คงเป็นประโยชน์ไม่มากก็น้อย

และสำหรับ Ep ถัดไป ซึ่งจะเป็นการสอนและอธิบายโครงสร้างของ Django ว่าประกอบไปด้วยอะไรบ้าง ดีไซน์แพทเทิร์นเป็นยังไง ซึ่งเราจำเป็นต้องรู้พื้นฐานเหล่านี้ เมื่อมีพื้นฐานที่ดีแล้ว เราก็จะต่อยอดไปได้อีกมากมาย ตามที่ใจต้องการ

ถ้าชื่นชอบบทความนี้ ก็อย่าลืมกด Clap คนละ Clap เพื่อเป็นกำลังใจในการสร้างสรรค์ผลงานด้วยนะครับ หรือจะแชร์ไปให้เพื่อน ๆ ก็จะขอบคุณมาก หรือมีข้อแนะนำ ติชมตรงไหน ก็คอมเมนต์ได้ที่ด้านล่างโพสต์ไว้ได้เลยครับ See ya next article.

Sonny STACKPYTHON

Full Stack Python Developers