จึงแยก (Week 2-2) Django Tutorial(1-4) ออกเป็น 4 part
(LINK : https://b2-5720128.blogspot.com/2018/01/week-2-2-django-tutorial1-4.html)
Tutorial 2 : https://docs.djangoproject.com/en/2.0/intro/tutorial02/
Database setup
Django generate script ออกมาชุดหนึ่ง เรียกว่า Migration File ไว้ใช้สำหรับการสร้างฐานข้อมูลจริง ประโยชน์ของ Migration File ทีสร้างขึ้นมานี้เพื่อให้ Django Application สามารถ track การเปลี่ยนแปลงของฐานข้อมูลได้ตลอดเวลาที่มีการเปลี่ยนแปลง models.py ซึ่ง Django สามารถเปลี่ยน schema ของฐานข้อมูลไปมาได้ หรือจะย้อนกลับไปใช้ schema เก่าได้อย่างง่ายดาย
จาก project ที่เราสร้างขึ้นจะไม่มี database เก็บข้อมูลพื้นฐานเช่น admin username permission เราจึีงต้องสร้างขึ้นมาก่อน
ขั้นต่อมาสร้าง models.py เพื่อกำหนด set ค่าต่างๆเป็นภาษา python ก่อนนำไปสร้าง table ใน database
แล้วจึงตั้งค่าให้ django รู้จัก app polls ของเราให้เราสามารถใช้บริการ database ของ django ได้
ทำการสร้าง migration file เพื่อ track การเปลี่ยนแปลงของฐานข้อมูล
ทำการสร้าง table เป็น SQL
(SQL มาจากคำว่า Structured Query Language เป็นภาษามาตรฐานในการเข้าถึง ฐานข้อมูล เราสามารถใช้งานภาษาSQL ได้จากโปรแกรมต่างๆ ที่ต้องทำการกับระบบฐานข้อมูล เช่น ใช้ SQL ในการทำการดึงข้อมูล (Retrieve Data) จากฐานข้อมูล และมันเป็นมาตรฐานกลางที่ใช้ในระบบฐานข้อมูลต่างๆ โดยเป็นมาตรฐานของ ANSI
ข้อมูลจาก : http://www.9experttraining.com/articles/%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2-sql-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3 )
และทำการ migrate สร้าง database
ทดสอบ Playing with the API โดยใช้ python shell
ตามใน tutorial ด้วยคำสั่งพื้นฐานเช่น สร้างคำถาม "What's up" ลบคำถาม import เวลา วันที่ โดยการพิมพ์สั่งได้ผ่าน terminal ได้เลย
ทดสอบสร้าง admin user
ทดสอบเข้าไปที่ localhost:8000/admin มี ui ดังนี้
เมื่อทำการใส่ admin username password จะมี ui ให้จัดการ database แบบง่ายๆ แต่ยังไม่มี database ของ app polls ของเราขึ้นมาให้ทำการจัดการ
เราจึงต้องเพิ่ม app polls ของเราให้สามารถจัดการได้ใน admin.py ใน app polls ซึ่งใน tutorial import แค่ question ถ้าเราต้องการ import choice ด้วยก็สามารถทำได้
เมื่อ import เสร็จจะมี ui ใช้จัดการ question ใน localhost:8000/admin
ไม่มีความคิดเห็น:
แสดงความคิดเห็น