ฉันเพิ่งไปมากกว่าบันทึกประจำรุ่นอัลฟาสำหรับ Django 1.9และเห็นว่าstartapp
คำสั่งการจัดการในขณะนี้เพิ่มไฟล์ apps.py
ไฟล์นี้มีจุดประสงค์อะไร เอกสาร startAppไม่ได้ให้ข้อมูลเพิ่มเติม
ฉันเพิ่งไปมากกว่าบันทึกประจำรุ่นอัลฟาสำหรับ Django 1.9และเห็นว่าstartapp
คำสั่งการจัดการในขณะนี้เพิ่มไฟล์ apps.py
ไฟล์นี้มีจุดประสงค์อะไร เอกสาร startAppไม่ได้ให้ข้อมูลเพิ่มเติม
คำตอบ:
วัตถุประสงค์ของapps.py
ไฟล์:
ไฟล์นี้สร้างขึ้นเพื่อช่วยให้ผู้ใช้รวมการกำหนดค่าแอปพลิเคชันสำหรับแอป เมื่อใช้สิ่งนี้คุณสามารถกำหนดค่าคุณลักษณะบางอย่างของแอปพลิเคชันได้
จากApplication Configuration
เอกสารประกอบ:
อ็อบเจ็กต์คอนฟิกูเรชันแอ็พพลิเคชันเก็บข้อมูลเมตาสำหรับแอ็พพลิเคชัน แอตทริบิวต์บางอย่างสามารถกำหนดค่าได้ในคลาสย่อย AppConfig Django ตั้งค่าอื่น ๆ และอ่านอย่างเดียว
ตัวอย่างจากเอกสาร:
สมมติว่าคุณกำลังสร้างแอปแบบเสียบได้ที่เรียกว่า"Rock ’n’ roll"
จากนั้นเพื่อให้ชื่อที่เหมาะสมสำหรับผู้ดูแลระบบเราสามารถดำเนินการดังต่อไปนี้:
ในrock_n_roll
แอพเราสร้างRockNRollConfig
คลาส AppConfig
#rock_n_roll/apps.py
from django.apps import AppConfig
class RockNRollConfig(AppConfig): # Our app config class
name = 'rock_n_roll'
verbose_name = "Rock ’n’ roll"
เราสามารถทำให้แอปพลิเคชันของคุณโหลดAppConfig
คลาสย่อยนี้ได้โดยค่าเริ่มต้นโดยระบุdefault_app_config
ในrock_n_roll/__init__.py
ไฟล์
# rock_n_roll/__init__.py
default_app_config = 'rock_n_roll.apps.RockNRollConfig'
การทำเช่นนี้จะทำให้เกิดการRockNRollConfig
ที่จะใช้เมื่อมีเพียงINSTALLED_APPS
'rock_n_roll'
สิ่งนี้ช่วยให้เราสามารถใช้ประโยชน์จากAppConfig
คุณลักษณะต่างๆได้โดยไม่ต้องให้ผู้ใช้อัปเดตINSTALLED_APPS
การตั้งค่า
without requiring our users to update their INSTALLED_APPS setting.
: นี่หมายความว่าอย่างไร: โดยทั่วไปถ้าฉันไม่ทำdefault_app_config = 'rock_n_roll.apps.RockNRollConfig'
ฉันต้องพูดถึงใน INSTALLED_APPSdefault_app_config = 'rock_n_roll.apps.RockNRollConfig'