Apa tujuan apps.py di Django 1.9?

Jawaban:

136

Tujuan apps.pyfile:

File ini dibuat untuk membantu pengguna memasukkan konfigurasi aplikasi apa pun untuk aplikasi. Dengan ini, Anda dapat mengonfigurasi beberapa atribut aplikasi.

Dari Application Configurationdokumentasi:

Objek konfigurasi aplikasi menyimpan metadata untuk suatu aplikasi. Beberapa atribut dapat dikonfigurasi di subkelas AppConfig. Lainnya diatur oleh Django dan hanya-baca.

Contoh dari dokumen:

Katakanlah Anda sedang membuat aplikasi pluggable bernama "Rock ’n’ roll", lalu untuk memberikan nama yang tepat untuk admin kita bisa melakukan hal berikut:

Dalam rock_n_rollaplikasi, kami membuat RockNRollConfigkelas 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"

Kita bisa membuat aplikasi Anda memuat ini AppConfigsubclass secara default dengan menentukan default_app_configdalam rock_n_roll/__init__.pyberkas.

# rock_n_roll/__init__.py    
default_app_config = 'rock_n_roll.apps.RockNRollConfig'

Melakukan ini akan menyebabkan RockNRollConfigdigunakan ketika INSTALLED_APPShanya berisi 'rock_n_roll'. Ini memungkinkan kami memanfaatkan AppConfigfitur tanpa mengharuskan pengguna memperbarui INSTALLED_APPSpengaturannya.

Rahul Gupta
sumber
Sayangnya saya tidak mendapatkan jawaban Anda
hspandher
2
without requiring our users to update their INSTALLED_APPS setting.: Apa artinya ini: Pada dasarnya jika saya tidak melakukannya default_app_config = 'rock_n_roll.apps.RockNRollConfig'maka saya harus menyebutkan dalam INSTALLED_APPSdefault_app_config = 'rock_n_roll.apps.RockNRollConfig'
Santhosh Yedidi
15

Ini adalah tempat yang disarankan untuk meletakkan konfigurasi aplikasi Anda . Fitur ini sudah ada di sini sejak 1.7, tetapi untuk mempromosikan penggunaannya dan memungkinkan konfigurasi yang lebih mudah, apps.pyfile telah ditambahkan ke templat aplikasi default.

knbk
sumber