ตั้งค่า path ใน settings.py แบบ relative

Posted September 21, 2008 at Django66

ในการตั้งค่าในไฟล์ settings.py สิ่งที่น่ารำคาญอย่างหนึ่งก็คือการต้องระบุ path แบบเต็ม (absolute) เพราะทำให้เวลาย้ายไดเร็กทอรีของ project ไปที่อื่นแล้วมันต้องแก้เยอะ

วันนี้ไปอ่านมาจาก Tutorial Django From the Ground Up: Episodes 1 and 2 เจอวิธีดี ๆ ครับ (ซึ่งก็ตรงไปตรงมา ทำไมเราไม่นึกได้เองนะ) เขาให้ใส่

import os.path
PROJECT_DIR = os.path.dirname(__file__)

ไว้ที่ต้นโปรแกรม <!--break--> ทีนี้เวลาจะอ้างถึงไดเร็กทอรีก็เอา PROJECT_DIR แปะตอนต้นเสียก่อนเช่น

TEMPLATE_DIRS = (
    PROJECT_DIR + "/templates",
)

Tutorial ดังกล่าว ในลิงก์ข้างต้น มีสองตอน ผมดูเวอร์ชันที่เป็น flash ไม่ได้ แต่อ่านเนื้อหาแล้วน่าจะเหมาะสำหรับคนเริ่มเล่นเลยทีเดียวครับ

settings.py สำหรับพัฒนากับสำหรับการ deploy

Posted October 25, 2008 at Django66

หลายครั้งเราต้องการกำหนดค่าเริ่มต้นที่แตกต่างกันใน settings.pyสำหรับใช้ในการพัฒนาและในการ deploy ยกตัวอย่างเช่นพวก MEDIA_URL หรือ ADMIN_MEDIA อะไรประมาณนี้

วิธีที่ผมใช้ส่วนมากก็คือสร้าง settings.py ไว้สองอันแยกกัน เวลา deploy ก็อย่าเอาไฟล์นี้ไปทับกัน (อาจทำได้โดยไม่ใส่ไฟล์ดังกล่าวไว้ใน version control system) แต่วิธีนี้มักมีปัญหาว่า บางทีเราแก้ค่าเริ่มต้นบางอย่างที่ส่วนมากจะใช้ร่วมกัน เช่น เพิ่ม APPS เราก็ต้องแก้ทั้งสองไฟล์ แล้วบางทีก็ลืม

วันนี้ไปอ่านอีกวิธีเจอมาใน django user group ใน google groups เลยเอามาเขียนบอกต่อกันครับ

read more