一尘不染

能否给Django应用指定一个冗长的名称以供整个管理员使用?

django

你可以像在Django管理员中为字段和模型赋予冗长的名称一样,可以给应用程序自定义名称吗?


阅读 325

收藏
2020-03-27

共1个答案

一尘不染

Django 1.8以上

根据1.8文档(和当前文档),

新应用程序应避免使用default_app_config。相反,它们应要求在中AppConfig显式配置指向适当子类的虚线路径INSTALLED_APPS

例:

INSTALLED_APPS = [
    # ...snip...
    'yourapp.apps.YourAppConfig',
]

然后AppConfig如下所示更改你的。

的Django 1.7

正如rhunwicks对OP的评论所言,自Django 1.7起,这已成为可能

取自文档:

# in yourapp/apps.py
from django.apps import AppConfig

class YourAppConfig(AppConfig):
    name = 'yourapp'
    verbose_name = 'Fancy Title'

然后将default_app_config变量设置为YourAppConfig

# in yourapp/__init__.py
default_app_config = 'yourapp.apps.YourAppConfig'

Django 1.7之前的版本

你可以通过在模型定义中定义app_label来给应用程序自定义名称。但是,随着django构建管理页面时,它将按模型的app_label哈希模型,因此,如果希望它们出现在一个应用程序中,则必须在应用程序的所有模型中定义此名称。

class MyModel(models.Model):
        pass
    class Meta:
        app_label = 'My APP name'
2020-03-27