更改Django后台模型名称和应用为中文

Django应用中文配置指南
本文详细介绍如何在Django项目中将应用配置为中文显示,包括修改__init__.py文件和在apps.py中进行初始化配置的具体步骤。文章还强调了在admin.py中注册模型的重要性,以确保中文配置生效。

更改应用为中文

主要更改App目录下__init__.py文件

在这里插入图片描述

根据apps.py文件进行初始化文件配置:

import os
from django.apps import AppConfig


default_app_config = 'Buyer.BuyerConfig'

def get_current_app_name(_file):
    return os.path.split(os.path.dirname(_file))[-1]

class BuyerConfig(AppConfig):
    name = 'Buyer'
    verbose_name = "买家"

模型必须先在admin.py中安装到后台,在进行中文配置
在这里插入图片描述
在这里插入图片描述

效果:
在这里插入图片描述

<think>我们正在讨论如何修改Django admin中已注册模型显示名称(即模型在admin界面中的标签)。根据引用[4]提到,我们可以通过修改模型的`Meta`类中的`verbose_name``verbose_name_plural`来改变模型在admin中的单数复数显示名称。此外,我们还可以在注册模型时使用`admin.site.register`的第二个参数来指定一个自定义的ModelAdmin类,并在其中设置`list_display`等属性来调整列表页的显示字段。 但是,用户的问题是关于修改模型名称或标签,这通常指的是在admin首页或面包屑导航中显示名称,而不是具体字段。因此,我们主要关注如何修改模型的元信息。 具体步骤: 1. 在模型的`Meta`类中设置`verbose_name``verbose_name_plural`: - `verbose_name`:模型单数形式的名称 - `verbose_name_plural`:模型复数形式的名称 2. 如果模型已经注册到admin,我们可以通过自定义ModelAdmin类来进一步定制,但修改模型名称主要是在模型内部设置。 3. 另外,如果希望修改应用(app)的名称,可以在应用的`apps.py`件中修改`AppConfig`的`verbose_name`属性。 示例: 假设我们有一个为`Article`的模型,位于`article`应用中。 步骤1:修改模型,设置`verbose_name``verbose_name_plural`。 ```python # models.py from django.db import models class Article(models.Model): title = models.CharField(max_length=100) content = models.TextField() class Meta: verbose_name = "章" # 单数名称 verbose_name_plural = "章列表" # 复数名称 ``` 步骤2:在admin.py中注册模型(如果还没有注册的话)。 ```python # admin.py from django.contrib import admin from .models import Article admin.site.register(Article) ``` 这样,在admin后台,该模型的单数形式显示为“章”,复数形式显示为“章列表”。 注意:如果模型已经通过`@admin.register`装饰器注册,或者使用了自定义的ModelAdmin,上述设置同样有效。 另外,如果希望修改整个应用在admin中的显示名称,可以在应用的`apps.py`中设置: ```python # apps.py from django.apps import AppConfig class ArticleConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'article' verbose_name = "章管理" # 设置应用在admin中的显示名称 ``` 然后在`__init__.py`中设置默认应用配置: ```python # __init__.py default_app_config = 'article.apps.ArticleConfig' ``` 或者在`settings.py`的`INSTALLED_APPS`中直接使用该配置类: ```python # settings.py INSTALLED_APPS = [ ..., 'article.apps.ArticleConfig', ..., ] ``` 这样,在admin首页中,该应用显示为“章管理”。 总结:修改模型名称通过模型的`Meta`类,修改应用名称通过`AppConfig`的`verbose_name`属性。 引用说明:引用[4]中提到了使用`@admin.register`自定义ModelAdmin,但未直接说明如何修改模型名称。根据Django官方档,修改模型在admin中的显示名称是通过模型的`Meta`类实现的[^1]。 [^1]: 修改模型在admin中的显示名称Django官方档:https://docs.djangoproject.com/en/4.2/topics/db/models/#verbose-field-names §§相关问题§§ 1. 如何在Django admin中自定义模型的列表页面(例如添加搜索字段、过滤器)? 2. 如何修改Django admin的标题头部信息(例如将“Django管理”改为自定义标题)? 3. 如何在Django admin中实现自定义动作(例如批量更新模型字段)?</think>要修改 Django admin 中已注册模型显示名称(即模型后台界面中的标签),可以通过以下方法实现: ### 方法一:在模型 Meta 类中设置 `verbose_name`(推荐) 这是最标准的修改方式,直接在模型定义中设置: ```python # models.py from django.db import models class Product(models.Model): name = models.CharField(max_length=100) price = models.DecimalField(max_digits=10, decimal_places=2) class Meta: verbose_name = "商品" # 单数名称 verbose_name_plural = "商品管理" # 复数名称(列表页标题) ``` ### 方法二:在 admin.py 中自定义 ModelAdmin 引用[4]中展示了使用 `@admin.register` 装饰器的方式: ```python # admin.py from django.contrib import admin from .models import Product @admin.register(Product) class ProductAdmin(admin.ModelAdmin): # 设置列表页显示的字段 list_display = ['name', 'price', 'created_at'] # 设置模型在admin中的显示名称 def __init__(self, model, admin_site): super().__init__(model, admin_site) self.opts.verbose_name = "商品" self.opts.verbose_name_plural = "商品管理" ``` ### 方法三:修改应用名称(AppConfig) 引用[1]中提到了在 `INSTALLED_APPS` 中注册自定义 AppConfig: 1. 在应用的 `apps.py` 中: ```python # apps.py from django.apps import AppConfig class StoreConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'store' verbose_name = "商城管理" # 修改整个应用显示名称 ``` 2. 在 `settings.py` 中注册配置: ```python # settings.py INSTALLED_APPS = [ # ... 'store.apps.StoreConfig', # 使用自定义AppConfig # 而不是直接写 'store' ] ``` ### 方法四:修改 admin 标题(全局) 引用[4]中提到了修改后台全局标题: ```python # admin.py from django.contrib import admin admin.site.site_header = "我的商城管理系统" # 顶部标题 admin.site.site_title = "商城后台" # 浏览器标签标题 admin.site.index_title = "数据管理面板" # 首页标题 ``` ### 效果验证 修改后,在 admin 界面中: 1. 应用名称显示为 "商城管理"(来自 AppConfig) 2. 模型名称显示为 "商品" "商品管理" 3. 顶部标题会显示 "我的商城管理系统" ### 注意事项 1. `verbose_name` `verbose_name_plural` 的区别: - `verbose_name`:单数形式(用于添加/编辑页面) - `verbose_name_plural`:复数形式(用于列表页面) 2. 修改后需要重启服务才能生效 3. 如果同时使用多种方法,优先级为: `ModelAdmin > Meta类 > AppConfig`
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值