Django โอ้วว ดีจังแหะ (ฉบับมือใหม่หัดเขียน)
สวัสดีทุกโค้นนน เรากลับมาแล้ว กลับมาพร้อมกับลองเขียน ภาษา 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 กันหน่อยดีกว่า
- เปิด Terminal
- พิมพ์ 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 อะไรไม่รู้ไฟล์เต็มไปหมด จบ…แล้วครับขอบคุณครับ