如何在Django admin中更改应用程序名称?

时间:2014-11-17 12:21:28

标签: python django

我使用'frontend'

创建了./manage.py startproject frontend个应用程序

但出于某种原因,我只想更改Django管理员中的应用名称以显示'Your Home Page'而不是'frontend'

怎么做?

更新: 以下是更多细节:

#settings.py
INSTALLED_APPS = (
    'frontend',
)

#frontend/models.py
class Newpage(models.Model):
    #field here
class Oldpage(models.Model):
    #field here

9 个答案:

答案 0 :(得分:11)

是的,你可以做到这一点

来自app文件夹的 apps.py 文件中的

更改配置类中的verbose_name属性。例如:

from django.apps import AppConfig


class FrontendConfig(AppConfig):
    name = 'frontend'
    verbose_name = "Your Home Page"

我测试它并在Django 1.10中工作

答案 1 :(得分:2)

1.尝试将app_label添加到将在Admin。中注册的模型。

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

<强>更新 2.重命名app(文件夹)的步骤:

  • 重命名项目根目录中的文件夹
  • 在其依赖项中更改对您的应用的任何引用,即应用的视图,urls.py和settings.py文件。
  • 使用以下命令编辑数据库表django_content_type:UPDATE django_content_type SET app_label =''WHERE app_label =''
  • 此外,如果您有模型,则必须重命名模型表。对于postgres,使用ALTER TABLE _modelName RENAME TO _modelName。 对于重命名模型,您需要更改django_content_type.name 注意:如果models.py的Meta Class列出了app_name,请确保重命名。

答案 2 :(得分:2)

在stars / app.py

from django.apps import AppConfig


class RequestsConfig(AppConfig):
    name = 'stars'
    verbose_name = "Star of India"

星星/ init .py

default_app_config = 'stars.apps.RequestsConfig'

要在自定义菜单方法中访问应用名称,您可以尝试从

获取该名称
model._meta.app_config.verbose_name

检查Django文档以获取参考https://docs.djangoproject.com/en/1.11/ref/applications/#for-application-users

答案 3 :(得分:2)

我来晚了,但只是要在由@ FACode解释的解决方案中增加一个步骤。
来自官方docs

在frontend / apps.py

from django.apps import AppConfig


class FrontendConfig(AppConfig):
    name = 'frontend'
    verbose_name = "Your Home Page"

在app / settings.py

    INSTALLED_APPS = [
        'frontend.apps.FrontendConfig',
        # ...
    ]

答案 4 :(得分:1)

听起来您正试图更改Django Admin中appname的列出方式?这在Django 1.7之前是不可能的,但现在你可以这样做:

https://docs.djangoproject.com/en/1.7/ref/applications/#for-application-users

答案 5 :(得分:1)

在Django 2中,我们可以在apps.py中使用verbose_name,但是我们必须在 init .py

中指定CLass Config。

See related doc here

答案 6 :(得分:0)

apps.py

from django.apps import AppConfig

class FrontendConfig(AppConfig):
    name = 'frontend'
    verbose_name = "Your Home Page"

__ init __。py

default_app_config = 'frontend.apps.FrontendConfig'

https://docs.djangoproject.com/en/2.2/ref/applications/

答案 7 :(得分:0)

在 django 3.0+ 中,您只需要更改文件夹名称,然后在 apps.py 中将“(appname)Config”类中的“名称”更改为新名称。

答案 8 :(得分:-1)

在apps.py

array