在Django管理界面中,我们的模型按应用程序分组。嗯,我知道如何自定义型号名称:
class MyModel (models.Model):
class Meta:
verbose_name = 'My Model'
verbose_name_plural = 'My Models'
但我无法自定义应用程序名称。应用程序是否有verbose_name?
由于django 1.7 app_label不起作用。你必须跟随https://docs.djangoproject.com/en/1.7/ref/applications/#for-应用程序作者说明。即:
- 在应用程序的目录中创建
apps.py
-
写入详细名称:
# myapp/apps.py from django.apps import AppConfig class MyAppConfig(AppConfig): name = 'myapp' verbose_name = "Rock ’n’ roll"
-
在项目设置中更改
INSTALLED_APPS
:INSTALLED_APPS = [ 'myapp.apps.MyAppConfig', # ... ]
或者,您可以将
myapp.apps
留在INSTALLED_APPS
中,并使您的应用程序默认加载此AppConfig子类,如下所示:# myapp/__init__.py default_app_config = 'myapp.apps.MyAppConfig'
alles:(
在模型中使用Meta类并在其中定义app_label是可行的,但很可能您必须对模块中的每个模型都这样做。
另一种方法是实际使用CCD_ 5。在你的po文件中,如果你用app_label定义了msgid,你应该很好。
在您的应用程序中,添加/编辑po文件*app_label>locale>ru>django.po*
#set app label string
msgid <app_label>
msgstr "Ваше приложение этикетке"
你可以在这里阅读更多关于国际化和翻译的信息。
将app_label
属性添加到MyModel
内部META
类
class MyModel (models.Model):
class Meta:
verbose_name = 'My Model'
verbose_name_plural = 'My Models'
app_label = 'wow_app_name'