วันพุธที่ 15 กุมภาพันธ์ พ.ศ. 2560

Git Hub.


เข้าไปที่โฟลเดอร์โปรเจคของเรา และพิม git init


พิม git add -A เพื่อเพิ่มทุกไฟล์ที่มีอยู่ในโฟลเดอร์นั้น


พิม git commit -m "ข้อความ" เพื่อเป็นการ commit งานของเราขึ้นไปที่เว็บ


พิม git push ตามด้วยลิงค์เว็บไซต์ git ของเรา เพื่อดันงานขึ้นไปตามลิงค์เว็บต่อท้าย


พิมคำสั่งตามที่ขึ้นมาใน terminal กรอก Username และ Password ที่สมัครเอาไว้ เป็นอันเสร็จ


เข้าหน้าเว็บที่เป็น repository ของงานจะพบกับไฟล์งานของเราทั้งหมด






บัญชี รายรับ - รายจ่าย.

ชื่อโปรเจคว่า myapp

ชื่อ app คือ account

ใน models.py มี class Data ซึ่งเป็นตัวเก็บข้อมูลลง database โดยเก็บข้อมูล 2 แบบคือ ตัวแปร data_text รับข้อมูลที่เป็น text mode ตัวแปร data_money รับข้อมูลที่เป็นตัวเลข และ ตัวแปร pub_date รับข้อมูลที่เป็นเวลา


ใน views.py มี 4 method คือ 1. index เป็น method ไว้ render หน้า index
2. income เป็น method ไว้รับค่าข้อมูลรายรับ และจำนวนเงินรายรับเข้ามา และนำจำนวนนั้นไปบวกเข้ากับเงินที่มีอยู่
3. expense เป็น method ไว้รับค่าข้อมูลรายจ่าย และจำนวนเงินรายจ่ายเข้ามา และนำจำนวนนั้นไปคูณกับ -1 และนำไปบวกกับเงินที่มีอยู่
4. history เอาไว้แสดงข้อมูลรายรับ-รายจ่ายทั้งหมด พร้อมทั้งแสดงจำนวนเงินล่าสุดที่บวกลบทุกข้อมูลในตารางแล้ว

ใน urls.py จะใส่ลิงค์ไปยังหน้าต่างๆทั้งหมดของแอพ


ใน index.html จะมีเพียงรูป และลิงค์ไปยังหน้ากรอกข้อมูล และหน้าดูประวัติ


ใน detail.html จะมี input เป็นแบบช่องกรอกข้อมูล โดยกำหนดให้เป็นชนิด text และ number ไว้ ตามด้วย input ที่เป็นเวลา และตามด้วยปุ่ม submit ทั้งของรายรับและรายจ่าย โดยมีลิงค์เชื่อมไปยังหน้า index และ history อีกด้วย


ใน history.html จะแสดงข้อมูลรายรับ - รายจ่ายทั้งหมดในรูปแบบของตาราง และเรียงข้อมูลตามวันที่ใส่ล่าสุด โดยจะแสดงข้อมูล จำนวนเงิน รายรับ และรายจ่าย วันเวลา และที่บรรทัดสุดท้ายจะแสดงยอดเงินคงเหลือทั้งหมดด้วย โดยจะมีลิงค์เชื่อมไปยังหน้า index และหน้า detail อีกครั้ง

หน้า index.html

หน้า detail.html

หน้า history.html









tutorial 04 - Django

ใน TU 4 นั้น จะนำ Form ของภาษา HTML เข้ามาใช้ใน Templates ที่เราได้สร้างไว้ใน Part 3 ก่อนหน้านี้พร้อมทั้งสามารถโหวต Choice ต่างๆของเราผ่านทาง Browser และบันทึกค่าลงใน Database ของเราได้อีกด้วยแถมท้ายด้วยการใช้ Generic View เพื่อให้โค้ดที่เขียนนั้นสั้นลงจากเดิม


ในส่วนแรกนั้นจะเป็นการเพิ่ม error_massage ที่ detail.html กล่าวคือเมื่อมีการ Error จะไม่ไปหน้า Error เหมือน TU ที่แล้ว แต่จะเป็นการแสดงข้อความขึ้นมา ว่าเกิดการ Error นะ


ต่อมาที่ views.py ที่ method vote จะเพิ่มคำสั่งที่ว่า หากไม่ได้เลือกช้อยส์ใดๆเลย และกด vote จะแสดงข้อความว่า You didn't select a choice. แต่ถ้าหากกดโหวตช้อยส์ใด ก็ให้คะแนนของช้อยส์นั้น +1


จากนั้นที่ method results กำหนดให้ pk = question_id ซึ่ง pk ย่อมาจาก primary key นั่นเอง


ไปที่ results.html จากโค้ดคือ ทำการเพิ่มลิงค์ที่เชื่อมไปยังหน้า detail หรือหน้าแสดงคำถาม โดยลิงค์จะแสดงข้อความว่า Vote again?


ไปที่ urls.py ที่ detail และ results จะเปลี่ยนจาก question_id เป็น pk ดังที่เราได้กำหนดไว้ข้างต้น


ในส่วนสุดท้าย ที่ views.py จะเปลี่ยนจาก method เป็น class ยกเว้น method vote เป็นการใช้ generic view เพื่อให้โค้ดอ่านง่ายขึ้น โดยศึกษา generic view เพิ่มเติมได้ที่ djangoproject.com

tutorial 03 - Django


ใน TU3 นี้จะสอนการสร้าง templates เพิ่มแสดงหน้าเว็บ และการเชื่อมลิงค์ต่างๆของแอพ


เริ่มแรกไปที่ views.py ก็อบโค้ดตามภาพไปวางในไฟล์ของเรา โดยจะมี 3 method ดังนี้ 1.detail เป็น method ที่ใช้แสดงหน้าเว็บที่มีคำถามต่างๆของแอพ 2.results เป็น method ที่ใช้ช้อยส์ในคำถามนั้นๆ  และ 3.vote ที่ใช้แสดงหน้าเว็บเมื่อกด vote เสร็จแล้ว


ต่อมาไปที่ urls.py ก็อบโค้ดตามภาพไปวางไว้ในไฟล์ของเรา โดย url จะมีลิงค์ไปที่หน้า index หน้า detail หน้า result และหน้า vote ซึ่งตรงกับชื่อ method ใน views.py


เว็บจะบอกว่า ให้เราของลิงค์ไปคำถามที่ 34 หน้าเว็บจะ render หน้าของคำถามที่ 34 ออกมา จะได้คำว่า You're looking at question 34


กลับไปที่ views.py แก้ไขตรง method index ให้เป็นดังภาพ โดยโค้ดข้างต้น จะแสดงคำถามล่าสุด 5 คำถาม เรียงตามวันเวลาที่สร้างคำถาม


เว็บจะบอกให้เราสร้างโฟลเดอร์ templates ในแอพ และในโฟลเดอร์ templates ก็สร้างโฟลเดอร์ที่มีชื่อเดียวกับแอพ คือ polls ขึ้นมาอีกที และในโฟลเดอร์ polls นั้นให้สร้าง index.html ขึ้นมา


เปิดไฟล์ index.html ขึ้นมา และก็อบโค้ดดังภาพใส่ลงไปในไฟล์ของเรา โดยไฟล์นี้ จะเป็นไฟล์ที่เชื่อมกับ method index ใน views.py ซึ่งจะแสดงคำถามล่าสุด 5 คำถาม แต่หากไม่มีคำถามจะขึ้นว่า No polls are available.


กลับไปที่ views.py ก็อบโค้ดดังภาพไปวางในไฟล์ของเราเพื่อเป็นการเชื่อมไปยัง templates ของเรา


จากภาพที่แล้ว เราจะทำการให้โค้ดกระชับและอ่านง่ายขึ้นโดยทำเป็นโค้ดดังภาพข้างต้น


ต่อมาที่ไฟล์เดิม เราจะทำการแก้ไขหน้า Error ให้แสดงข้อความที่เราต้องการ โดยใส่โค้ดไปในไฟล์ของเราที่ method detail ดังภาพข้างต้น

จากนั้นสร้าง detail.html ในที่เดียวกับ index.html และใส่ข้อความไปดังภาพ
เมื่อไปที่หน้าเว็บเพจแล้ว หากเกิดการ Error จะขึ้นข้อความว่า Question does not exist
โดยในเว็บจะบอกให้เราใส่ question id เป็นเลขที่ไม่ตรงกับคำถามใดๆที่เรามี


จากนั้นทำโค้ดให้กระชับ เหมือนกับที่ทำกับ method index


กลับไปที่ detail.html ให้ใส่โค้ดไปในไฟล์ของเราดังภาพ ซึ่งจะเชื่อมกับ method detail ใน views.py เช่นกัน โดยโค้ดจะแสดงคำถามด้วยตัวหนา และแสดงช้อยส์ของคำถามนั้นทั้งหมด


ไปที่ urls.py ให้ใส่ app_name = 'polls' เข้าไปดังภาพ เป็นการกำหนดชื่อแอพของเรา ว่าลิงค์ที่มีอยู่คือของแอพๆไหน


ไปที่ index.html ให้แก้ไขโค้ดจากด้านบนเป็นด้านล่าง หลังจากที่เรากำหนดชื่อแอพของเราใน urls.py แล้ว เป็นการบอกว่า ให้เชื่อมลิงค์ไปที่หน้า detail ของแอพ polls นั่นเอง





tutorial 02 - Django

ใน TU2 นั้นจะสอนการสร้างคำถามและช้อยส์ผ่านทาง terminal และการสร้าง Username Password เพื่อใช้ในการแก้ไข เพิ่มและลบคำถาม ผ่านทางหน้า admin


หากมีการเปลี่ยนแปลงหรือการสร้างแอพใหม่ ต้องทำการอัพเดทให้โปรเจค โดยใช้คำสั่ง migrate ดังภาพ


หัวใจสำคัญของแอพของเราอยู่ที่ models.py ซึ่งจะเป็นตัวบ่งบอกสิ่งหลักของแอพของเรา ดังแอพ polls สิ่งที่สำคัญคือคำถามกับช้อยส์ ดังนั้นใน models.py ของแอพ polls นั้น จึงเป็น Question และ Choice ตามลำดับ โดยใน class Question นั้น จะมีตัวแปร question_text มารับ text mode โดยมีความยาวไม่เกิน 200 ตัวอักษร และมี pub_date มารับข้อมูลของเวลา ส่วนใน class Choice นั้น จะกำหนดว่า class Choice นั้น เป็น sub class ของ class Question และมีตัวแปร choice_text มารับข้อมูลที่เป็น text mode เช่นกัน จากนั้นมีตัวแปร votes มารับข้อมูลที่เป็น Integer หรือจำนวนเต็ม โดยตั้งค่าเริ่มต้นไว้ที่ 0


ต่อมาไปที่โปรเจคของเรา ในไฟล์ setting.py จะทำการเพิ่มแอพของเราเข้าไป โดยในบรรทัดที่เพิ่มคือ polls.apps.Pollsconfig นั่นเอง


หากมีการแก้ไขอะไรใน models.py แล้ว ต้องทำการอัพเดทให้แอพรับรู้ โดยใช้คำสั่ง makemigrations และตามด้วยชื่อแอพของเรา ดังในภาพ


เมื่อทำการ migrations แล้ว จะมีผลดังภาพข้างต้น


คือคำสั่งที่ใช้แสดงข้อมูลใน database ซึ่งเราจะไม่สนใจในจุดนี้


หากทำสำเร็จ จะขึ้นผลดังภาพข้างต้น


ต่อไปจะทำการสร้างคำถามและคำตอบ โดยเริ่มต้นที่การเปิด shell เพื่อเพิ่มคำถามและคำตอบผ่าน terminal ของเรา ดังภาพ


จากนั้นให้ก็อบคำสั่งที่ตามหลัง >>> ไปวางไว้ใน terminal ของเราตามลำดับ ส่วนที่ไม่ได้อยู่หลัง >>> คือผลที่เราควรจะเห็นเมื่อพิมคำสั่งเสร็จและกด Enter โดยในภาพข้างต้นนั้นจะทำการ import class ใน models.py ของเรามาใช้เก็บข้อมูลลง database ซึ่งคำสั่งแรก Question.objects.all() เป็นการเปิดดูคำถามทั้งหมดที่เรามีอยู่ ต่อมาคือการ import เวลาตามโซนที่เราอยู่ ส่วนต่อมา q = Question(question_text = "What's new?", pub_date = timezone.now()) คือการเพิ่มคำถามเก็บไว้ในตัวแปร q ซึ่งจะเห็นว่า คำถามของเราคือ What's new? จะถูกเก็บไว้ใน question_text ซึ่งเป็นตัวแปรที่รับค่า text mode ใน class Question และ pub_date ก็คือตัวแปรใน class Question ที่ใช้รับค่าเวลาเช่นกัน จากนั้น q.save() ก็คือคำสั่งบันทึกคำถามนั่นเอง ต่อมา q.id คือการดูว่าคำถามของเรามีเลข id เท่าไหร่ หากเราพิม q.question_text ลงไป terminal จะแสดงคำถามของเราออกมา เช่นเดียวกันกับ หากเราพิม q.pub_date ลงไป terminal จะแสดงว่าเวลาและโซนของเวลาออกมาเช่นกัน

ใน TU2 จะเป็นการสอนสร้างคำถามและช้อยส์ผ่าน terminal และสร้าง Username Password เพื่อใช้เข้าไปแก้ไข เพิ่มหรือลบ คำถามและช้อยส์ผ่านทางหน้า admin


กลับไปที่ models.py ใน class Question ให้เพิ่ม method ดังภาพลงไป เพื่อเป็นตัวกำหนดเวลาตอนเราสร้างคำถามขึ้นมาใหม่


ต่อมาในส่วนของการสร้างช้อยส์ คำสั่งที่เหมือนกับการสร้างคำถาม จะขอไม่อธิบายซ้ำ เริ่มต้นที่ q = Question.objects.get(pk = 1) เป็นการบอกว่า เราจะเพิ่มช้อยส์ที่คำถามไหน


q.choice_set.all() เป็นการเปิดดูช้อยส์ทั้งหมดที่เรามี และ q.choice_set.create(choice_text = 'Not Much', votes = 0) คือคำสั่งที่ใช้เพิ่มช้อยส์ โดยช้อยส์ที่เพิ่มคือคำว่า Not Much และตั้งค่า votes = 0 ตอนเริ่มต้น โดยถ้าหากจำได้ จะมีตัวแปร vote ที่ class Choice ใช้รับค่า Integer นั่นเอง ต่อมาคือ q.choice_set.count() คือคำสั่งที่ใช้ดูว่ามีช้อยส์ทั้งหมดกี่ช้อยส์ ในส่วนสุดท้ายนั้น จะเป็นการสอนการลบช้อยส์ที่เราสร้างขึ้นมาผ่าน terminal


ต่อมาจะเป็นการสร้าง user id ที่ใช้สำหรับเข้าหน้า admin ไว้สำหรับแก้ไข เพิ่มลบคำถามและช้อยส์ โดยพิมตามภาพข้างต้นผ่าน terminal


หากเข้าหน้า admin จะพบหน้าดังในรูป


เมื่อกรอก Username Password ตามที่เราตั้งแล้ว จะพบกับหน้าเว็บเพจดังภาพ


จากนั้นไปที่ admin.py ก็อบโค้ดตามภาพ วางลงในไฟล์ของเรา เพื่อเพิ่มช่องของ Question ให้เราสามารถแก้ไขได้ผ่านทางหน้า admin


เมื่อไปที่หน้า admin อีกครั้งจะพบกับแอพของเรา และคำถามให้เราเพิ่ม ลบ หรือแก้ไข้
หากต้องการทำแบบเดียวกันกับช้อยส์ ก็ให้ไปเพิ่มในไฟล์ admin.py ดังที่ได้กล่าวมาแล้ว แต่ให้ใส่เป็น Choice ลงไปแทน Question









Link Video Presentation Resort Managemant System Project.

Video Presentation Resort Managemant System Project. จัดทำโดย พากษ์เสียง: คุณาสิน  ทองมณี  5801012620011 ลำดับภาพ: สุพิชชา  ศรีศิริ...