Django โอ้วว ดีจังแหะ (ฉบับมือใหม่หัดเขียน)

Pond Meebriboon
2 min readJul 23, 2019

สวัสดีทุกโค้นนน เรากลับมาแล้ว กลับมาพร้อมกับลองเขียน ภาษา python ดู แต่ก่อนเราเขียนแต่ Laravel แต่เห็นหลายๆคนบอกว่า ดีจังโก้ ( Django) ดีกว่า ไวกว่า ก็เลยอยากลองดู เริ่มจาก install python

mac os : มี python อยู่แล้วนะ แต่เป็นเวอร์ชั่นที่เก่า (python2 ตอนนี้ python3 แล้วนะรู้ยัง!? ) เพราะฉะนั้น อัพเดตด้วยจ้ะ ตามลิ้งนี้เลย

window ก็อย่าเพิ่งน้อยใจไป โหลดเลย นี่ลิ้งนี้นะ

เปิด Terminal ลง python เสร็จแล้ว ก็ลง pip ต่อเลย

python3 get-pip.py

pip คือ อะไร??

สำหรับคนที่เคยเขียน Laravel มาบ้างแล้วอยากจะให้มองว่า pip ก็เหมือน composer

แล้วก็ลง Django ต่อเลย

pip install Django

มาเช็คเวอร์ชั่นของ Django กันหน่อยดีกว่า

  1. เปิด Terminal
  2. พิมพ์ python3
3. import django
print(django.get_version())

แค่นี้ก็รู้แล้วว่า django เวอร์ชั่นอะไร หรือจะเช็คแบบนี้ก็ได้นะ

python3 -m django --version

เหมือนโดน document ของ django หลอกอ่ะ!! ว่ามันเช็คแบบนี้ก็ได้

ต่อไปสร้าง project กัน

django-admin startproject <<nameproject>>

แค่นี้ก็เสร็จแล้วสำหรับการเริ่มต้นที่จะลองเขียน Django และแน่นอนว่าเร็วกว่า Laravel มาก (ขนาดแค่สร้างโปรเจคเองนะ) Laravelที่นานกว่าเพราะว่าตัว composer ลง vender เข้ามาด้วยซึ่งเยอะมากกก~

และต่อมาเริ่มเขียนกันได้สักที เราใช้ Pycharm ในการเขียนเพราะว่ามันเอาไว้เขียน python ด้วยเฉพาะและมันก็ฟรีด้วยนะ!! เป็นเจ้าเดียวกับ phpstrom

import project ที่สร้างไว้เข้ามาใน pycharm เลย

ลองรันดู

python3 manage.py runserver

หน้าตามันจะได้แบบนี้นะ

อธิบายส่วนต่างๆของProject

manage.py:คิดง่ายๆคือเอาไว้รัน serve

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

nameproject/__init__.py: มันมีเอาไว้ลง package ของ python อ่ะ

nameproject/settings.py:เอาไว้ setting project

nameproject/urls.py:เอาไว้ใส่ชื่อ route ว่าให้ไปหน้าไหนตาม path

nameproject/wsgi.py:เอาไว้ deploy to server อะเขาว่างี้นะ

แล้วเราก็เริ่มจากที่ route เขียนสั้นมาก เขียนง่ายกว่า laravel เยอะมาก

urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index),
]

ใน path(‘namepath’,viewtemplete) แค่นี้เองสั้นๆ

จบแล้วนะครับสำหรับDjango เบื้องต้นไม่มีอะไรซับซ้อนแต่แอบเห็นแว๊บๆว่าโครงสร้างเหมือนตัว Laravel เลยแต่แค่เขียนคนละภาษา T_T เริ่มรู้สึกชอบมันตรงที่มันเบามากทุกอย่างมันดูเร็ว เก็บไฟล์เป็นระเบียบดีนะ ไม่เหมือน Laravel อะไรไม่รู้ไฟล์เต็มไปหมด จบ…แล้วครับขอบคุณครับ

--

--