能给Django应用程序一个详细的名称,以便在管理过程中使用吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

同样,可以为显示在Django管理中的字段和模型提供详细的名称,能给一个应用程序一个自定义名称吗?

提问于
用户回答回答于

在Django 1.7之前

通过定义应用程序,可以给应用程序一个自定义名称。_模型定义中的标签。但是Django构建管理页面时,它将按其应用程序散列模型。_标签,所以如果希望它们出现在一个应用程序中,必须在应用程序的所有模型中定义这个名称。

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

正如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'
用户回答回答于

如果应用程序中有多个模型,只需使用Meta信息创建一个模型,并为所有模型创建该类的子类。

class MyAppModel(models.Model):
    class Meta:
        app_label = 'My App Label'
        abstract = True

class Category(MyAppModel):
     name = models.CharField(max_length=50)

扫码关注云+社区