วันอาทิตย์ที่ 26 มีนาคม พ.ศ. 2560
วันเสาร์ที่ 18 มีนาคม พ.ศ. 2560
วันพุธที่ 15 มีนาคม พ.ศ. 2560
วันอังคารที่ 14 มีนาคม พ.ศ. 2560
4. สร้างหน้าเว็บแสดงผล
สร้างหน้าเว็บ
การสร้างหน้าเว็บแสดงผล จะประกอบด้วย 3 ส่วน ได้แก่ url view และ template3. หน้า admin
สร้าง superuser
เข้า terminal ไปที่หน้า project และใช้คำสั่งpython3 manage.py createsuperuserหลังจากนั้นทำการกรอก username, email, password ที่จะใช้ login หน้า admin
วันจันทร์ที่ 13 มีนาคม พ.ศ. 2560
2. ออกแบบ Model
ออกแบบ Model
ออกแบบ model สำหรับเก็บข้อมูลของเว็บไซต์ โดยในที่นี้จะเก็บข้อมูบเป็น รายชื่อบัญชี และรายการ1. เริ่มสร้าง project, สร้าง app
สร้าง Project
สร้าง project โดยการพิมพ์คำสั่งลงใน terminal ดังนี้django-admin startproject mysiteจะเป็นการสร้าง project ชื่อ "mysite"
วันเสาร์ที่ 28 มกราคม พ.ศ. 2560
django - tutorial 4
- เขียน form สำหรับรับค่าใน template detail
ทำการส่งค่าเป็นแบบ post
เรียกใช้หน้า vote เมื่อกด submit
- แก้ไข method vote
request.POST['choice'] จะ return หมายเลขของตัวเลือกที่ได้ทำการเลือกไว้ใน form
หลังจากแก้ไขจำนวน vote ให้เรียกใช้หน้าเว็บ results
- แก้ใข method และ template สำหรับแสดงผล result
หน้าเว็บ result
choice.votes|pluralize จะทำการตรวจสอบจำนวนค่า votes ของ choice นั้น
หากมีค่าเป็น 1 จะ return '' (string ว่าง)
หากไม่ใช้จะ return 's'
ใช้ generic ช่วยในการเขียนเว็บ
แก้ไข
question_id
เป็น pk ในส่วน detail และ result
vote ใช้
ListView display a list of objects.question
เนื่องจากไม่ได้ใช้ generic ในส่วนนี้DetailView display a detail page for a particular type of object.
context_object_name : name of queryset (default is 'object_list')
วันศุกร์ที่ 27 มกราคม พ.ศ. 2560
django - tutorial 3
- เพิ่มส่วนของ polls/veiw.py โดยมี method index(หน้าแรก) detail(หน้าข้อมูลคำถาม) result และ vote
หน้าเว็บ detail
template
เป็นส่วนแสดงผลหน้าเว็บโดยจะรับค่าจาก view มาแสดงตามรูปแบบที่ได้กำหนดไว้
ตัวอย่างไฟล์ template
รูปแบบการเขียนเหมือนไฟล์ html ทั่วไป
{{ a }} แสดงค่าตัวแปร a
{% for %} สำหรับใช้ for loop จำเป็นต้องมี {% endfor %}
{% if %} สำหรับใช้ condition จำเป็นต้องมี {% endif %}
{% url %} สำหรับ link ไปยังไฟล์อื่น
รูปแบบ
{% url '[app name]:[name]' [arg[0]] [arg[1]] ... %}
ex: {% url 'polls:detail' question.id %}
จะ link ไปยัง app:polls name:detail และส่ง question.id เป็น arg
หน้าเว็บ index
หน้าเว็บ detail
วันอาทิตย์ที่ 22 มกราคม พ.ศ. 2560
Django - tutorial 2
- python manage.py migrate
สร้าง model ใน model.py
แก้ไขส่วน setting.py
สร้าง admin user และเข้าส่วน admin
เพิ่มส่วน question ในหน้า admin
-ใช้งานส่วน question
สร้าง model ใน model.py
แก้ไขส่วน setting.py
manage.py makemigrations polls
manage.py sqlmigrate polls 0001
manage.py migrateเพิ่ม code ใน model.py
สร้าง admin user และเข้าส่วน admin
เพิ่มส่วน question ในหน้า admin
-ใช้งานส่วน question
Django - tutorial 1
- สร้าง project ด้วยคำสั่ง djang-admin startproject [ชื่อ project]
- หน้าเว็บเพจ 127.0.0.1:8000
สร้างไฟล์ url.py
เมื่อ runserver และเข้าที่ http://127.0.0.1:8000/polls/ จะพบกับหน้าเว็บที่เขียนไว้ใน view
- ใน project จะประกอบด้วยไฟล์ดังนี้
- สร้าง sever ด้วยคำสั่ง python manage.py runserver
- สร้าง app polls
แก้ไขไฟล์ view.py
-ก่อน
-หลังสร้างไฟล์ url.py
แก้ไขไฟล์ mysite/url.py
ก่อน
หลังเมื่อ runserver และเข้าที่ http://127.0.0.1:8000/polls/ จะพบกับหน้าเว็บที่เขียนไว้ใน view
วันพุธที่ 18 มกราคม พ.ศ. 2560
CSV
เก็บรวบรวมข้อมูลจากเว็บเพจไว้ในไฟล์ csv
- ไฟล์สำหรับหน้าเว็บรับข้อมูล
รับข้อมูล 2 ชนิด คือ ชื่อ และวันเกิด
ใช้ <select> มาช่วยในการเลือกวันเกิด
มี link สำหรับไปยังหน้าแสดงสถิติ
- ไฟล์หน้าเว็บหลังจากป้อนข้อมูล
import csv ในการเก็บข้อมูลในไฟล์ csv
'a' ใน open('day.csv', 'a') สำหรับเปิดไฟล์เพื่อเขียนข้อมูลต่อจากข้อมูลเดิม
fieldnames คือการกำหนดหัวข้อของแต่ละ column ช่วยในการระบุ column ที่ต้องการ
มี link ไปยังหน้าเว็บแสดงสถิติและหน้าเว็บกรอกข้อมูล
- หน้าเว็บแสดงสถิติ
มี array สำหรับเก็บ ชื่อ, สี, จำนวนคนเกิด ของแต่ละวัน
นับจำนวนคนเกิดแต่ละวันโดยการเช็ค column day ของแต่ละแถว
หาวันที่มีคนเกิดเยอะที่สุด
แสดงจำนวนคนที่เกิดในแต่ละวัน
มี link สำหรับกลับไปหน้ากรอกข้อมูล
- ไฟล์ csv
เก็บข้อมูลเป็นชื่อ และวันเกิด
- หน้าเว็บหลังจาก submit
- หน้าเว็บแสดงผล
วันอาทิตย์ที่ 15 มกราคม พ.ศ. 2560
CGI - Dynamic Web Pages
สร้างหน้าเว็บ html เพื่อรับ input จาก client ก่อนที่จะเรียกใช้ไฟล์ python ใน cgi-bin เพื่อให้ ไฟล์ python สามารถนำ input ที่รับไปใช้ ก่อนที่จะแสดงผล
- ไฟล์ html สำหรับรับกรอกข้อมูล
ใช้ <input> สำหรับแสดงผลเป็นกล่องรับข้อมูล โดยกำหนด
type: กำหนดประเภทของค่าที่ต้องการรับ เช่น ข้อความ ตัวเลข เป็นต้น
name: เป็นชื่อของตัวแปรสำหรับส่ง ให้ไฟล์ .py
type submit เป็นรูปแบบปุ่มสำหรับเรียกใช้ไฟล์ .py โดยสามารถระบุข้อความที่ต้องการให้แสดงได้โดยใช้ value
- ไฟล์ .py มีการ import cgi เพื่อให้สามารถเรียกค่าจากไฟล์ html มาได้ โดยเลือกรับค่าที่ต้องการตาม name ที่ได้ประกาศไว้ใน html
ในที่นี้จะรับ ค่าส่วนสูงและน้ำหนักมาเพื่อคำนวน BMI
- สร้าง server และเข้ามาที่ localhost เปิดไฟล์ html ที่ได้สร้างไว้
- พบกับหน้าเว็บ html กรอกข้อมูล และกดปุ่ม calculate
- ไฟล์ .py จะรับ input ไปคำนวนและแสดงผลออกมา
- ไฟล์ html สำหรับรับกรอกข้อมูล
ใช้ <input> สำหรับแสดงผลเป็นกล่องรับข้อมูล โดยกำหนด
type: กำหนดประเภทของค่าที่ต้องการรับ เช่น ข้อความ ตัวเลข เป็นต้น
name: เป็นชื่อของตัวแปรสำหรับส่ง ให้ไฟล์ .py
type submit เป็นรูปแบบปุ่มสำหรับเรียกใช้ไฟล์ .py โดยสามารถระบุข้อความที่ต้องการให้แสดงได้โดยใช้ value
- ไฟล์ .py มีการ import cgi เพื่อให้สามารถเรียกค่าจากไฟล์ html มาได้ โดยเลือกรับค่าที่ต้องการตาม name ที่ได้ประกาศไว้ใน html
ในที่นี้จะรับ ค่าส่วนสูงและน้ำหนักมาเพื่อคำนวน BMI
- สร้าง server และเข้ามาที่ localhost เปิดไฟล์ html ที่ได้สร้างไว้
- พบกับหน้าเว็บ html กรอกข้อมูล และกดปุ่ม calculate
- ไฟล์ .py จะรับ input ไปคำนวนและแสดงผลออกมา
สมัครสมาชิก:
บทความ (Atom)