在bookshelf/apps.py
from django.apps import AppConfig
class BOOKConfig(AppConfig):
name = 'bookshelf'
verbose_name = "Your Book"
在bookshelf/__init__.py
:
default_app_config = 'bookshelf.apps.BOOKConfig'
但是,当您要覆盖外部模块的标题(例如,像来自https://djangopackages.org/的包)时,有什么正确的方法可以覆盖此部分和其中的项的默认名称
假设你有这样一个模型:
你有详细的\u名称,但你想定制应用程序\u标签也不同的显示在管理。不幸的是,拥有一些任意的字符串(带空格)是不起作用的,而且它也不是用来显示的
原来管理员用的是app\u标签。title()用于显示,以便我们可以使用重写的title方法创建一个小hack:str子类:
现在我们可以有这样的模型:
伊奥尼尔的原始帖子https://blog.ionelmc.ro/2011/06/24/custom-app-names-in-the-django-admin/
作为docs say,新的应用程序应该避免默认的应用程序配置
不要将
default_app_config
添加到应用程序的__init__.py
,只需使用INSTALLED_APPS
中应用程序配置的虚线路径即可对于第三方应用程序,你可以做同样的事情。在项目中的某处创建一个
apps.py
(例如在myproject/settings.py
旁边),并创建一个应用程序配置如果应用程序没有app Config类,那么子类
AppConfig
并确保设置name
然后使用
INSTALLED_APPS
中app config类的路径,而不是app name/default app config另一个例子参见文档的for application users部分
相关问题 更多 >
编程相关推荐