2013-03-28 11 views
5

Nell'interfaccia di amministrazione di Django, abbiamo i nostri modelli raggruppati per app. Bene, ho saputo come personalizzare il nome del modello:app verbose name nell'interfaccia admin di django

class MyModel (models.Model): 
    class Meta: 
    verbose_name = 'My Model' 
    verbose_name_plural = 'My Models' 

Ma non ho potuto personalizzare il nome dell'app. C'è qualche verbose_name per le app?

+0

possibile duplicato di [Si può dare un app Django un nome verbose per l'uso in tutto il admin?] (http://stackoverflow.com/questions/612372/can-you-give-a-django-app-a-bosco-name-for-use-throughout-the-admin) –

risposta

13

Poiché django 1.7 app_label non funziona. Devi seguire le istruzioni https://docs.djangoproject.com/en/1.7/ref/applications/#for-application-authors. Cioè:

  1. Creare apps.py nella directory della tua applicazione
  2. scrivere il nome verbose:

    # myapp/apps.py 
    
    from django.apps import AppConfig 
    
    class MyAppConfig(AppConfig): 
        name = 'myapp' 
        verbose_name = "Rock ’n’ roll" 
    
  3. Nelle impostazioni del progetto di cambiamento INSTALLED_APPS:

    INSTALLED_APPS = [ 
        'myapp.apps.MyAppConfig', 
        # ... 
    ] 
    

    O, puoi l gronda myapp.apps in INSTALLED_APPS e rendere l'applicazione caricare questa sottoclasse AppConfig di default come segue:

    # myapp/__init__.py 
    
    default_app_config = 'myapp.apps.MyAppConfig' 
    

alles :)

-1

Aggiungi app_label attr al MyModel interna META classe

class MyModel (models.Model): 
    class Meta: 
    verbose_name = 'My Model' 
    verbose_name_plural = 'My Models' 
    app_label = 'wow_app_name' 
+9

'app_label = 'wow il nome dell'app "può causare molti errori – andi

+0

@andi grazie per aver detto che, ho aggiornato il' app_label' –

1

Uso della classe Meta all'interno del vostro modello e la definizione del app_label lì funziona, ma molto probabilmente si dovrà fare che per ogni modello in vostro modulo.

Un altro approccio è quello di utilizzare effettivamente i18n. Nel file po, se definisci un messaggio con il numero con la tua app_label dovresti essere bravo.

Nella vostra applicazione, aggiungere/modificare file po * app_label> locale> ru> django.po *

#set app label string 
msgid <app_label> 
msgstr "Ваше приложение этикетке" 

Si può leggere di più su l'internazionalizzazione here e sulla traduzione here.