python: เกร็ด cgi

Topic: 
 

บันทึกเกร็ดเกี่ยวกับการใช้ไพธอนทำเว็บ ด้วย cgi

  • ต้องมีบรรทัด Content-type: text/html\r\n เป็นบรรทัดแรก apache ถึงจะตีความเป็น HTML
    #!/usr/bin/env python
    print "Content-type: text/html\r\n"
    ...
  • ควรบอกระบบว่าไฟล์เราเข้ารหัสแบบไหน เช่นถ้าเป็น utf-8
    #!/usr/bin/env python
    # -*- coding: utf8 -*-
    ...

    จาก Defining Python Source Code Encodings

  • ถ้าเราทำโปรแกรมของเราเป็นแพกเกจ หากยังไม่ได้ทำติดตั้งลงใน site-package แต่ยังเป็นเพียงไดเรกทอรี่อยู่ เวลาอิมพอร์ต ต้องใช้ทั้งสองคำสั่งคือ ทั้ง from ... import * และ import ... เช่นสมมุติแพกเกจเราชื่อ dweb ใช้
    ...
    import dweb
    from dweb import *
    ...
  • การใช้งานกับ apache2 แบบ CGI ธรรมดา พารามิเตอร์ที่ต้องใช้ในไฟล์ htaccess คือ
    $ vi .htaccess
    DirectoryIndex index.py
    Options +Indexes ExecCGI FollowSymLinks MultiViews
    AddHandler cgi-script .py
    AddType application/x-python-code .pyc .pyo
    AddHandler python-program .pyc .pyo