Django 1.9'da apps.py'nin amacı nedir?


Yanıtlar:


136

apps.pyDosyanın amacı :

Bu dosya, kullanıcının uygulama için herhangi bir uygulama yapılandırmasını dahil etmesine yardımcı olmak için oluşturulur . Bunu kullanarak uygulamanın bazı özniteliklerini yapılandırabilirsiniz.

Gönderen Application Configurationbelgeler:

Uygulama yapılandırma nesneleri, bir uygulamanın meta verilerini depolar. Bazı öznitelikler, AppConfig alt sınıflarında yapılandırılabilir. Diğerleri Django tarafından ayarlanır ve salt okunurdur.

Dokümanlardan örnek :

Diyelim ki adında takılabilir bir uygulama oluşturuyorsunuz "Rock ’n’ roll", ardından yönetici için uygun bir ad sağlamak için aşağıdakileri yapabiliriz:

In rock_n_rollapp, bir oluşturmak RockNRollConfigAppConfig sınıfını.

#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"

Biz Başvurunuz bu yüklenmesini sağlayabilirsiniz AppConfigbelirterek varsayılan olarak alt sınıf default_app_configiçinde rock_n_roll/__init__.pydosyanın.

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

Bunu yapmak, içerdiğinde RockNRollConfigkullanılmasına neden olacaktır . Bu, kullanıcılarımızın ayarlarını güncellemelerini gerektirmeden özelliklerden yararlanmamızı sağlar .INSTALLED_APPS'rock_n_roll'AppConfigINSTALLED_APPS


Ne yazık ki cevabınızı alamadım
hspandher

2
without requiring our users to update their INSTALLED_APPS setting.: Bu ne anlama geliyor: Temelde yapmazsam default_app_config = 'rock_n_roll.apps.RockNRollConfig'INSTALLED_APPSdefault_app_config = 'rock_n_roll.apps.RockNRollConfig'
Santhosh Yedidi

15

Uygulama yapılandırmanızı koymanız için önerilen yerdir . Bu özellik 1.7'den beri buradadır, ancak kullanımını desteklemek ve daha kolay yapılandırmayı etkinleştirmek için apps.pydosya varsayılan uygulama şablonuna eklenmiştir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.