วันอาทิตย์ที่ 31 มกราคม พ.ศ. 2559
django cms #5 Integrating a thied-party application
ในขั้นนี้เราจะทำการขยาย cms ของเราด้วย Third-party application หมายถึง app ที่มีคนอื่นสร้างไว้แล้วให้เรานำมาใช้ต่อใน cms ของเราได้ ในที่นี้คือ app สร้างบทความหรือข่าว Aldryn News & Blogให้เราทำการติดตั้งด้วยคำสั่ง pip install aldryn-newsblog
ถ้าติดตั้งไม่ได้เพราะไม่มี libxml2 ให้ติดตั้งก่อนด้วยคำสั่ง apt-get install libxml2-dev libxslt-dev
ส่วน Django setting
เปิดไฟล์ settings.py ของ cms เราแล้วแก้ไขส่วน INSTALLED_APPS ดังนี้
# you will probably need to add: 'aldryn_apphooks_config', 'aldryn_boilerplates', 'aldryn_categories', 'aldryn_newsblog', 'aldryn_people', 'aldryn_reversion', 'djangocms_text_ckeditor', 'parler', 'sortedm2m', 'taggit', # and you will probably find the following already listed: 'easy_thumbnails', 'filer', 'reversion',
ต่อมาเพิ่มโค้ดเหล่านี้เข้าไปใน settings.py (ไฟล์เดิม)
THUMBNAIL_PROCESSORS = ( 'easy_thumbnails.processors.colorspace', 'easy_thumbnails.processors.autocrop', # 'easy_thumbnails.processors.scale_and_crop', # disable this one 'filer.thumbnail_processors.scale_and_crop_with_subject_location', 'easy_thumbnails.processors.filters', ) ALDRYN_BOILERPLATE_NAME='bootstrap3' STATICFILES_FINDERS = [ 'django.contrib.staticfiles.finders.FileSystemFinder', 'aldryn_boilerplates.staticfile_finders.AppDirectoriesFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', ]
สำหรับส่วนต่อไปนี้เราจะเพิ่มส่วน Template ในไฟล์เดิม ใช้เฉพาะใน django1.8
TEMPLATES = [ { # ... 'OPTIONS': { 'context_processors': [ # ... 'aldryn_boilerplates.context_processors.boilerplate', ], 'loaders': [ # ... 'aldryn_boilerplates.template_loaders.AppDirectoriesLoader', ], }, }, ]
เสร็จแล้วใช้ Terminal รันคำสั่ง python manage.py migrate แล้วเปิด server อีกครั้ง
ต่อมาให้เราสร้าง page ใหม่ชื่อ news แล้วปรับ advanced setting ดังรูปด้านล่างนี้
เสร็จแล้วจะได้หน้าแบบนี้ คือหน้าที่ยังไม่มีบทความอะไรเลย
ขั้นนี้เราจะสร้างบทความด้วยการเลือกเมนู Default NewsBlog คลิกที่ Add new article...
กรอกข้อมูลของบทความ เสร็จแล้วให้คลิก save
บทความที่เราสร้างปรากฏขึ้นมา
วันเสาร์ที่ 30 มกราคม พ.ศ. 2559
django cms #4 Apphooks
Apphooks คือ จากเดิมเราใช้วิธีเพิ่ม plug-in ลงไปใน page แต่คราวนี้เราจะนำ app ไปใช้งานใน page ที่เราต้องการเลยcreate Apphooks
เราใช้ class ที่สืบทอดมาจาก CMSApp ขั้นแรกให้เราเข้าไปยังไดเรกทอรี polls_plugin ทำการสร้างไฟล์ cms_apps.py แล้วเขียนโค้ดดังข้างล่างนี้
from cms.app_base import CMSApp from cms.apphook_pool import apphook_pool from django.utils.translation import ugettext_lazy as _ class PollsApphook(CMSApp): name = _("Polls Application") # give your application a name (required) urls = ["polls.urls"] # link your app to url configuration(s) app_name = "polls" apphook_pool.register(PollsApphook) # register the application
ประยุกต์ใช้ apphooks กับหน้า web page
ให้เรากดปุ่ม create หน้าเว็บ page ใหม่จากนั้นทำการ published โดยกดปุ่มบริเวณมุมขวาบน เสร็จแล้วก็กดเมนู page เลือก advanced setting แล้วตั้งค่าดังนี้
เราก็ใช้งาน polls app บนหน้าเว็บได้ตามปกติ
วันพุธที่ 27 มกราคม พ.ศ. 2559
Adviser meeting 28/1/2559
สิ่งที่ดำเนินการไปแล้ว1. ติดต่อโปรเจ็คพี่จนทราบวิธีการ upload โปรเจ็คขึ้นโปรเจ็คของรุ่นพี่
2. ทดลองใช้ python3.4.4 สร้างโปรเจ็ค djangocms ได้
3. ทดลองสร้าง plugin polls ใหม่แต่ติดปัญหา database ทับซ้อนทำให้โปรเจ็คเสีย
4. ออกแบบหน้าเว็บที่เป็นหน้าหลักสำหรับแสดงบน monitor ด้วยโปรแกรม justmind
5. ออกแบบ diagram ของโปรเจ็ค
ตัวอย่างหน้าเว็บที่ออกแบบ
diagram ของโปรเจ็ค
สิ่งที่จะดำเนินการต่อ
1. ทดลอง video steamming ว่ารับ client ได้กี่ตัว
2. หาโปรแกรมออกแบบหน้าเว็บที่ถูกลิขสิทธิ์แทน justinmind
3. รายละเอียด usecase
4. สรุปผลงานรอบ 1 เดือน
5. ไม่คืบหน้าเพราะไม่มีแผน ไม่ค่อยได้ทำงานร่วมกัน การจัดการเวลา ตื่นสายมากไป
6. แก้ไข diagram ของโปรเจ็ค
วันศุกร์ที่ 22 มกราคม พ.ศ. 2559
djangocms #1 install on ubuntu14.04.3LTS
django ได้พัฒนา cms ขึ้นมาเรียกว่า django cms เป็นระบบจัดการเนื้อหา สำหรับผู้พัฒนาสามารถสร้าง plugin ได้เอง ทำให้มีความยืดหยุ่นในการใช้งาน ต่อไปนี้จะสอนวิธีการติดตั้ง django cms บน ubuntu14.04.3LTS และใช้ python3.41. เปิดหน้าต่าง Terminal ( กดปุ่ม Alt + t ) ขึ้นมา
2. พิมพ์คำสั่ง
virtualenv --python=/usr/bin/python3 ENVvirtualenv เป็นคำสั่งที่ใช้สร้างสิ่งแวดล้อมเฉพาะสำหรับสร้างงานที่ต้องการควบคุม version ของเครื่องมือต่างๆ สำหรับงานนี้เราจะได้ไดเรกทอรีชื่อ ENV ปรากฎออกมา ดังนี้
ENV
Include
Lib
bin
3. ใช้ Terminal แล้วพิมพ์คำสั่ง source ENV/bin/activate
จะมี <ENV> ปรากฎขึ้นมาในหน้า command shell ก่อนพิมพ์คำสั่งในลักษณะนี้
(env2) root@VirtualBox:/home/phongyanon#
จากนั้นติดตั้ง djangocms ด้วยคำสั่ง pip install djangocms-installer
4. ทำการสร้างไดเรกทอรีใหม่ชื่อ tutorial-project ด้วยคำสั่ง mkdir tutorial-project สร้างเสร็จแล้วให้พิมพ์ cd tutorial-project เพื่อเข้าไปข้างใน
5 พิมพ์คำสั่งต่อไปนี้เพื่อสร้าง django project ชื่อ mysite
djangocms -p . mysite
จะมีคำถามปรากฎขึ้นมาให้เราตอบตามนี้ และจะมีให้กรอก username password ให้จำไว้ด้วยนะ
- Database configuration (in URL format): sqlite://localhost/project.db
- django CMS version: stable
- Django version: stable
- Activate Django I18N / L10N setting: yes
- Install and configure reversion support: yes
- Languages to enable. Option can be provided multiple times, or as a comma separated list: en, th
- Optional default time zone: America/Chicago:
- Activate Django timezone support: yes
- Activate CMS permission management: yes
- Use Twitter Bootstrap Theme: yes
- Use custom template set: no
- Load a starting page with examples after installation: yes
6. เปิด web browser ขึ้นมาลองเข้า http://localhost:8000/
เข้ามาแล้วจะพบหน้าแบบนี้
7.
ลอง login ดูด้วยการเติม ?edit เข้าไปหลัง url เดิม
จะมีแถบดังรูปด้านล่างเพิ่มขึ้นมา ให้กรอก username password
ที่กรอกไว้ตอนสร้าง project
8.
หลังจาก login ได้แล้วเราจะเปลี่ยน mode ได้ structure กับ content
ปัจจุบันเราอยู่ content ลองเปลี่ยนเป็น structure ดู
ได้ผลแบบรูปด้านล่างนี้ เห็นได้ว่ามีการแบ่งขอบเขตการแสดงผลไว้เป็น
feature กับ content คลิกที่มุมขวาบนของแต่ละส่วนจะเห็นแถบให้เลือก plugin
มาติดตั้งดังรูป
วันพฤหัสบดีที่ 21 มกราคม พ.ศ. 2559
Adviser meeting#2 21/01/2559
สิ่งที่ได้ดำเนินการไปแล้ว1. ออกแบบขอบเขตความสามารถของโปรเจค ตามแต่ละ usecase
2. ทดลองสร้างโปรเจ็ค djangocms กับ python2 ใน ubuntu15 ติดตั้งแบบ dual boot ติดปัญหาสร้างโปรเจ็คไม่ได้ ต่อมาเปลี่ยนเป็น ubuntu14.04 จากนั้นก็เปลี่ยนมาใช้ virtualbox ubuntu 14.04 สรุปว่ายังติดปัญหาสร้างโปรเจ็คไม่ได้อยู่ มี error แสดงว่า Failure to create Project :callProcessError
สิ่งที่ยังไม่ได้ดำเนินการ/ยังไม่เสร็จ
1. ออกแบบ database
2. หน้าเว็บ
3. ลองอัพโหลดลง server ของรุ่นพี่
4. ออกแบบฟังก์ชันการใช้งาน
5. module สร้างเอกสาร
ปัญหาที่พบ
1. ไม่สามารถสร้างโปรเจค Django cms ได้
สิ่งที่ดำเนินการต่อไป
1. คิดกระบวนการแก้ปัญหาการเลือกเวลาตรงกัน หรือเกินโหลดของช่วงเวลาที่ประกาศข่าว
แก้ไขโดยจำกัดว่าช่วงเวลาหนึ่งโพสได้กี่ประกาศ
2. เปิดปิดเสียงตามเวลา เข่น เวลาเรียนจะปิดเสียง
3. ปัญหาไฟดับของ client
4. server รู้สถานะของ client
5. ความเร็วอักษรวิ่งบนโทรทัศน์
6.ทดสอบข้อจำกัดของการส่งวิดิโอ, pdf, format video ที่ chorome support
7. ทดลอง concept นำข้อมูลหลายๆประเภทมาแสดงบนเว็บ
8. เราจะรู้ได้อย่างไรว่าวิดิโอจบแล้ว
9. ประกาศหนึ่งใช้เวลานานแค่ไหน
10. ภาพรวมของระบบ
11. เปลี่ยนไปใช้ python 3
12. ลองสร้างโปรเจ็ค Hello World จาก django ส่งให้พี่ไปก่อน
13. ทดลอง video streaming
วันพฤหัสบดีที่ 14 มกราคม พ.ศ. 2559
Adviser meeting 14/01/2559
สิ่งที่ได้ดำเนินการไปแล้ว1. ทำโปรเจค Polls สำหรับทดสอบ บน Ubuntu
2. สร้าง Repository ของโปรเจค บน bitbucket และทดลองการใช้งานพื้นฐานของ git
3. วางแผนการใช้ระบบ OS ใช้เป็น ubuntu15 และใช้ framework เป็น Django1.9
สิ่งที่ยังไม่ได้ดำเนินการ/ยังไม่เสร็จ
1. ออกแบบ database
2. หน้าเว็บ
3. ลองอัพโหลดลง server ของรุ่นพี่
4. ออกแบบฟังก์ชันการใช้งาน
5. module สร้างเอกสาร
สิ่งที่ดำเนินการต่อไป
1. กำหนดขอบเขต ความสามารถของโปรเจ็ค ตามแต่ละ usercase
2. คิดกระบวนการแก้ปัญหาการเลือกเวลาตรงกัน หรือเกินโหลดของช่วงเวลาที่ประกาศข่าว
แก้ไขโดยจำกัดว่าช่วงเวลาหนึ่งโพสได้กี่ประกาศ
3. เปิดปิดเสียงตามเวลา เข่น เวลาเรียนจะปิดเสียง
4. ปัญหาไฟดับของ client
5. server รู้สถานะของ client
6. ความเร็วอักษรวิ่งบนโทรทัศน์
7.ทดสอบข้อจำกัดของการส่งวิดิโอ, pdf, format video ที่ chorome support
8. ทดลอง concept นำข้อมูลหลายๆประเภทมาแสดงบนเว็บ
9. เราจะรู้ได้อย่างไรว่าวิดิโอจบแล้ว
10. ประกาศหนึ่งใช้เวลานานแค่ไหน
11. ภาพรวมของระบบ
วันพุธที่ 13 มกราคม พ.ศ. 2559
รายการสิ่งที่จะทำใน project
1. สร้างโปรเจ็คตัวอย่างจาก django cms แล้วนำไปอัพโหลดขึ้นโปรเจ็คของรุ่นพี่ (4w)2. หาข้อมูลว่า usecase ไหนใช้ฟังก์ชันที่สร้างเอง อันไหนหาที่มีอยู่แล้วมาใช้ (2w)
3. ออกแบบฐานข้อมูล (1w)
4. ออกแบบ controller และหน้า html ( user interface ) (3w)
5. เขียนโค้ดออกมาเป็น prototype (3-5w)
6. ทดลองให้คอมเราเป็น server แล้วเชื่อมต่อกับ Raspberry pi ที่ต่อกับหน้าจอ
9. ทำ power point นำเสนอโปรเจ็ค (1-2w)
10. เขียนรายงานโปรเจ็ค (1w)
สมัครสมาชิก:
บทความ
(
Atom
)








