python: ทำห้องแสดงภาพผ่านเว็บ
ทำห้องแสดงภาพผ่านเว็บด้วยไพธอนอย่างง่าย
ความต้องการคือ
- โยนภาพใส่ไดเรกทอรี่ (ด้วยมือ คือคัดลอกผ่านเชลล์) แล้วให้โปรแกรมจัดการลดขนาดและสร้างภาพเล็กสำหรับแสดง
- เก็บไฟล์ภาพเหมือนระบบไฟล์ปกติ เพื่อไม่ให้ระบบไฟล์ซับซ้อนเกินไป
- ไม่แตะต้องไฟล์ภาพต้นฉบับ และต้องสามารถเข้าถึงได้
- หมุนภาพอัตโนมัติ และให้มีหน้า admin สำหรับหมุนภาพในภายหลัง ในกรณีที่เป็นภาพที่ไม่มีข้อมูล Exif
ทำกับเดเบียน+ไพธอน โดยใช้มอดูล wsgi ผ่าน apache2, มอดูล Image และเรียกใช้โปรแกรมภายนอกคือ imagemagick
เริ่มด้วยติดตั้งแพกเกจ และเปิดใช้มอดูล wsgi
# aptitude install apache2 libapache2-mod-wsgi python-imaging imagemagick # a2enmod wsgi
สมมุติว่ารากของ apache2 อยู่ที่ /var/www
เราจะให้ url ของห้องแสดงภาพเป็น http://www.example.com/pythongal
และเนื่องจากเราทำแบบง่าย จึงตัดเรื่องบัญชีผู้ใช้ออก ลักไก่ให้หน้าของ admin เป็น http://www.example.com/.admin-pythongal
ซึ่งกำหนดในโปรแกรม
ติดตั้งโปรแกรมโดยแปลงตัวเป็น www-data ก่อน
# su www-data
ไปที่ไดเรคทอรี่ของ apache2 ดาวน์โหลดโปรแกรม ติดตั้งและปรับข้ออนุญาตให้เรียบร้อย
$ cd $ wget http://www.thaitux.info/files/py/pythongal-511002.tar.gz $ tar xfz pythongal-511002.tar.gz $ chmod 755 pythongal
เสร็จแล้ว
ถ้าเราเอาอะไรใส่เข้าในไดเรกทอรี่ /var/www/pythongal เขาจะจัดการลดขนาดภาพและสร้างภาพเล็กให้เอง โดยเก็บไฟล์เหมือนระบบไฟล์ปกติ
ปรับแต่งหน้าตาของ html จากไฟล์ template.html
และปรับ css ที่ไฟล์ style.css
ปรับคุณสมบัติของโปรแกรมจากตัวแปรที่หัวไฟล์
ลองทดสอบหน้าตัวอย่างได้ที่ www.thaitux.info/pythongal
และหน้า admin สำหรับหมุนภาพที่ www.thaitux.info/.admin-pythongal
- Printer-friendly version
- Log in or register to post comments
- 6844 reads
Recent comments