อะไรคือความแตกต่างพื้นฐานระหว่างคำสั่งนำเข้าต่อไปนี้ในแอป Django
import settings
และ
from django.conf import settings
อะไรคือความแตกต่างพื้นฐานระหว่างคำสั่งนำเข้าต่อไปนี้ในแอป Django
import settings
และ
from django.conf import settings
คำตอบ:
import settings
จะนำเข้าโมดูลการตั้งค่า (.py) ของโครงการ Django ของคุณ (หากคุณเขียนโค้ดนี้จากแพ็คเกจ "root" ของแอปพลิเคชันของคุณแน่นอน)
from django.conf import settings
จะนำเข้าวัตถุการตั้งค่าจากแพ็คเกจ django.conf (ไฟล์ที่ให้มาของ Django) นี่เป็นสิ่งสำคัญเพราะ
[.. ] โปรดทราบว่าโค้ดของคุณไม่ควรนำเข้าจาก global_settings หรือไฟล์การตั้งค่าของคุณเอง django.conf.settings สรุปแนวคิดของการตั้งค่าเริ่มต้นและการตั้งค่าเฉพาะไซต์ นำเสนออินเทอร์เฟซเดียว นอกจากนี้ยังแยกรหัสที่ใช้การตั้งค่าจากตำแหน่งของการตั้งค่าของคุณ
UPDATE: หากคุณต้องการกำหนดการตั้งค่าของตัวเองโปรดดูส่วนนี้ของเอกสารประกอบ
from django.conf import settings
เป็นสิ่งสำคัญหากคุณต้องการให้สามารถเขียนทับการตั้งค่าระหว่างการทดสอบหน่วยได้เช่นกัน
my_var
ในการตั้งค่าของคุณแล้วนี้จะล้มเหลว...from django.conf import settings
settings.my_var
แต่ถ้าคุณตั้งชื่อMY_VAR
มันจะสำเร็จ!