【发布时间】:2024-08-10 09:25:01
【问题描述】:
在 Django 管理界面中,我们将模型按应用分组。好吧,我知道如何自定义模型名称:
class MyModel (models.Model):
class Meta:
verbose_name = 'My Model'
verbose_name_plural = 'My Models'
但我无法自定义应用名称。应用程序是否有任何详细名称?
【问题讨论】:
在 Django 管理界面中,我们将模型按应用分组。好吧,我知道如何自定义模型名称:
class MyModel (models.Model):
class Meta:
verbose_name = 'My Model'
verbose_name_plural = 'My Models'
但我无法自定义应用名称。应用程序是否有任何详细名称?
【问题讨论】:
将app_label attr 添加到您的MyModel 内部META 类
class MyModel (models.Model):
class Meta:
verbose_name = 'My Model'
verbose_name_plural = 'My Models'
app_label = 'wow_app_name'
【讨论】:
app_label
由于 django 1.7 app_label 不起作用。您必须遵循https://docs.djangoproject.com/en/1.7/ref/applications/#for-application-authors 的说明。 那就是:
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'
所有 :)
【讨论】: