You are hereBlogs > jittat's blog > ตั้งค่า path ใน settings.py แบบ relative

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


By jittat - Posted on 22 September 2008

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

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

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

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

ทีนี้เวลาจะอ้างถึงไดเร็กทอรีก็เอา PROJECT_DIR แปะตอนต้นเสียก่อนเช่น

TEMPLATE_DIRS = (
    os.path.join(PROJECT_DIR, "templates"),
)

สำหรับ screencast ดังกล่าว เข้าไปดูได้จากลิงก์ข้างต้น ขณะนี้มีสองตอน ในนั้นระบุว่าเหมาะกับผู้ที่มีพื้นฐานบ้างแล้ว และจะค่อยทยอยทำออกมาเป็นซีรีส์ที่แสดงการทำโครงงานด้วย django ตั้งแต่แรกจนถึงขั้น deploy (เว็บตัวอย่างที่เขาทำเข้าไปดูได้ที่ StartTheDark) เท่า ๆ ที่ผมดูก็น่าสนใจเลยทีเดียว