You are heresettings

settings


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

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

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

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

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

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

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

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

ไว้ที่ต้นโปรแกรม