[Django]-How to change "app name" in Django admin?

57πŸ‘

Yes, you can do it simply

in your apps.py file from your app folder change the verbose_name attribute from your config class. For example:

from django.apps import AppConfig


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

I test it and works in Django 1.10

UPDATE:

In Django 3+ you should add this in your __init__.py file (from your app)

default_app_config = 'frontend.apps.FrontendConfig'
πŸ‘€FACode

16πŸ‘

In stars/app.py

from django.apps import AppConfig


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

in stars/init.py

default_app_config = 'stars.apps.RequestsConfig'

To access the app name in custom menu methods you can try to get that from

model._meta.app_config.verbose_name

Check the Django Doc for reference https://docs.djangoproject.com/en/1.11/ref/applications/#for-application-users

πŸ‘€Akhilraj N S

7πŸ‘

I am late but just to add an additional step to the solution explained by @FACode.
From the offical docs:

In frontend/apps.py

from django.apps import AppConfig


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

In app/settings.py

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

7πŸ‘

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/

4πŸ‘

1.Try to add app_label to your model that will be registered in Admin.

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

UPDATE:
2. Steps to rename app(folders):

  • Rename the folder which is in your project root
  • Change any references to your app in their dependencies, i.e. the app’s views, the urls.py and settings.py files.
  • Edit the database table django_content_type with the following command: UPDATE django_content_type SET app_label=” WHERE app_label=”
  • Also if you have models, you will have to rename the model tables. For postgres use ALTER TABLE _modelName RENAME TO _modelName.
    For renaming models, you’ll need to change django_content_type.name
    Note: If your models.py β€˜s Meta Class has app_name listed, make sure to rename that too.
πŸ‘€wolendranh

3πŸ‘

For example, if app name is store, then add verbose_name with my store to store/apps.py as shown below:

# "store/apps.py"

from django.apps import AppConfig

class StoreConfig(AppConfig):
    name = 'store'
    verbose_name = "my store" # Here

Then, add the code below to "store/init.py":

# "store/__init__.py"

default_app_config = 'store.apps.StoreConfig'

Now, the app name store is changed to my store as shown below:

enter image description here

2πŸ‘

It sounds like you are trying to change how the appname is listed within the Django Admin? This wasn’t possible before Django 1.7, but now you can do it like this:

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

πŸ‘€seddonym

2πŸ‘

In apps.py

 from django.apps import AppConfig
 class AccountConfig(AppConfig):
    name = 'app name'
    verbose_name = "new app name"
πŸ‘€hanou23

1πŸ‘

In Django 2 we can use verbose_name in apps.py but we have to specify the CLass Config in init.py

See related doc here

πŸ‘€Georgie

0πŸ‘

in django 3.0+ you just need to change the folder name and inside the apps.py change the "name" inside the "(appname)Config" class to the new name.

Leave a comment