วันพุธที่ 23 พฤษภาคม พ.ศ. 2561

[django] : runserver (commit 1-17)


เมื่อทำการ run server (python3 manage.py runserver) แล้วเข้า localhost ที่ port 8000 จะแสดงหน้าหลักดังนี้

 ทดสอบเพิ่ม word คำว่า "test" โดย มี explanation คือ "ลอง"

 จะ redirect กลับหน้าเดิมโดยมี test แสดงขึ้นมา โดยผมกำหนดให้แสดง word 5 คำล่าสุด


ทำการเพิ่ม word : test1 , test2 , ... , test5 โดยมี explanation : ลอง1 , ลอง2 , ... , ลอง5 คู่กับตามลำดับ


จนได้ผลดังนี้ ("test" ถูกดันหายไปเพราะ เก่าที่สุด)


ทดสอบคลิกเข้าไปดูใน "test1" จะแสดง explanation ทั้งหมดซึ่งก็คือ "ลอง1"

 ทดสอบเพิ่มคำว่า "ลอง" เข้าไป

 จะแสดง "ลอง" ที่เพิ่มเข้าไปใหม่

 ต่อมาทำการกลับหน้าหลักแล้วทดสอบเพิ่ม word "test1" (ซ้ำ duplicate) ที่มี explanation คือ "ลอง2" (ไม่ซ้ำ)


 จะแสดง message "duplicate word,your explanation add to existing word." word ซ้ำแต่ explanation ไม่ซ้ำจะทำการเพิ่ม explanation เข้าไปใน word นั้นๆอัตโนมัติ

ทดสอบเข้าไปดูใน "test1" จะพบคำว่า "ลอง2" ที่เพิ่มเข้ามาจากภาพก่อนหน้า

ต่อมาทำการกลับหน้าหลัก แล้ว ลองเพิ่ม word ซ้ำ explanation ซ้ำดู

 จะแสดง message "please enter the word" แต่ค่าจะไม่ถูกเพิ่มเข้าไปเพราะ word ซ้ำ explanation ซ้ำ

ต่อมาทดสอบไปพิมพ์ explanation ซ้ำใน "test1" explanation ว่า "ลอง"

จะแสดง message "duplicate or null explanation, please enter new explanation." และไม่ add explanation ที่ซ้ำให้


ต่อมากลับหน้าหลักแล้วกดที่ browse a (หา word catagory a (ขึ้นต้นด้วย a) )



ไม่พบดังคาด


กลับหน้าหลักอีกครั้งแล้วกดที่ browse ที่ t (หา word catagory t (ขึ้นต้นด้วย t) ) จะเจอทุกคำที่บันทึกลงไป


กลับหน้าหลักและทดสอบเพิ่มคำว่า "cat" explanation "แมว" เพื่อให้ทดสอบหาได้หลากหลาย


จะได้ผลดังนี้ word "test1" ถูกดันหายไป


พิมพ์ "t" ในช่องหาเป็นคำตามคำ (จะ search แบบ contain แค่มีตัว t อยู่ใน word ก็จะพบ)



ได้ผลตามคาด เจอทุกคำที่มี "t" อยู่ในคำ



ทดสอบพิมพ์แค่ "ca" (จะ search แบบ contain เช่นกัน)



 เจอ "cat" ดังคาด


ทำการกดเข้าไปดู word "cat" จะได้ผลดังนี้


ต่อมาทดสอบ login เข้า id : admin ที่ผมได้สร้างเป็น superuser ไว้ โดยกดปุ่ม LOGIN ข้างบน


จะ redirect ไปหน้าแรก และ แสดง message คำว่า "Hi admin!"


กดเข้าไปที่คำว่า "cat" จากหน้าหลัก เมื่อเป็น admin จะโชว์ function ที่ซ่อนไว้ คือ export / import csv ด้านล่าง


ทำการ make file csv ขึ้นมาเพื่อการทดสอบ import ไฟล์ csv โดยมีหน้าตาดังนี้ ชื่อว่า "แมว.csv"


กดปุ่ม Choose File เพื่อเลือกไฟล์ "แมว.csv" ของเรา


เมื่อเลือกเสร็จจะแสดง ชื่อไฟล์ที่เลือกต่อจาก ปุ่ม "Choose File"


กดปุ่ม Upload จะได้ "แมวกินปลา" เพิ่มมา โดยในไฟล์มี explanation "แมว" ด้วยแต่ถูก ignore เพราะว่าซ้ำ


ทดสอบ upload ไฟล์เดิม (explanation ซ้ำกลับเข้าไป) แล้วกด open


จะแสดงชื่อไฟล์ หลังปุ่ม Choose File "แมว.csv"


กด Upload แล้วผลคือ ไม่มีคำเพิ่มมา เพราะผมเขียนกัน upload explanation ซ้ำเอาไว้


ต่อมาทดสอบ export ไฟล์ csv กด export แล้วจะ download ไฟล์ชื่อ export.csv


กดเข้าไปดูตรวจสอบความถูกต้อง


เมื่อทดสอบ import / export csv เสร็จแล้วทำการ กดปุ่ม "logout" ข้างบน


ทดสอบสมัคร ID (กดปุ่ม SIGN UP) จะมีหน้าตาดังนี้ ทำการพิมพ์ ID dummy และ password ลงไป


เมื่อกดปุ่ม Sign Up ถ้าผ่านจะ redirect หน้าแรกและคงสถานะ Login ไว้ทันที


เข้าไปที่คำเดิมของเรา "cat"

 
กด like คำว่า "แมว" จาก 0 จะเปลี่ยนเป็น 1 ตามค่าใน database โดยบันทึกผู้ที่มากด LIKE เอาไว้ทำให้ ผู้ที่ login แล้ว spam like ไม่ได้ (ถ้าไม่ login จะกด like และ dislike แล้ว ไม่มีอะไรเกิดขึ้น)


กด dislike คำว่า "แมวกินปลา" จาก 0 จะเปลี่ยนเป็น 1 ตามค่าใน database โดยบันทึกผู้ที่มากด DISLIKE เอาไว้ทำให้ ผู้ที่ login แล้ว spam dislike ไม่ได้เช่นเดียวกับ like (ถ้าไม่ login จะกด like และ dislike แล้ว ไม่มีอะไรเกิดขึ้น)
(ขออภัยที่ในภาพติด facebook และวิธีการอัด gif จาก ubuntu (ใช้โปรแกรม peek (link)) ที่ผมหามาเพื่อทำภาพด้านล่างมาด้วยครับ)


gif ประกอบ ยืนยันว่าไม่สามารถ spam like และ dislike ได้




ไม่มีความคิดเห็น:

แสดงความคิดเห็น