Django:admin后台汉化问题
1、设置admin站点中文显示,即汉化admin后台管理站点。
- 方法一:修改settings文件
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
更改为:
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
- 方法二:添加中间件(注意:中间件是有顺序的,不要随意更改。)
添加LocaleMiddleware,按下面的顺序设置即可。
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware', #支持中文语言
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
2、设置model字段名称汉化
在后台注册数据库后,admin后台才可以实现对models的管理,因此如果想要汉化字段,则需要修改的是model,而不是表单(或其他)。
class Product(models.Model):
id = models.IntegerField('序号',primary_key=True) #第一种方式:在最前面直接写。
name = models.CharField(max_length=50, null=False,verbose_name='名称')
#第二种方式:标准写法,用verbose_name字段来定义。
weight = models.CharField(max_length=20, null=True, verbose_name='重量')
size = models.CharField('尺寸', max_length=20, null=True)
type = models.ForeignKey(Type, on_delete=models.CASCADE,verbose_name='类型',)
def __str__(self):
return self.name
3、设置model名称汉化
即要汉化数据表名,也就是模型类名。这个需要通过class Meta:中的verbose_name和verbose_name_plural来设置。
class Product(models.Model):
id = models.IntegerField('序号',primary_key=True)
name = models.CharField(max_length=50, null=False,verbose_name='名称')
weight = models.CharField(max_length=20, null=True, verbose_name='重量')
size = models.CharField('尺寸', max_length=20, null=True)
type = models.ForeignKey(Type, on_delete=models.CASCADE,verbose_name='类型',)
def __str__(self):
return self.name
class Meta:
# 复数形式,如果只设置verbose_name,在Admin会显示为“产品信息s”
verbose_name_plural = "产品信息"
verbose_name = "产品信息"
4、设置app名称汉化
要实现app(这里以index为例)名称的汉化,主要有app中的__init__.py文件实现。
#修改app(index)后台显示名称为中文。
from django.apps import AppConfig
import os
#修改app在Admin后台显示的名称
#default_app_config的值来自apps.py的类名
default_app_config = 'index.IndexConfig'
#获取当前app的命名
def get_current_app_name(_file):
return os.path.split(os.path.dirname(_file))[-1]
#重写类IndexConfig
class IndexConfig(AppConfig):
name = get_current_app_name(__file__)
verbose_name = '网站首页' #这个就是汉化后的名称。
Django:admin后台汉化问题的更多相关文章
- Django-报错信息及admin后台汉化
django-admin 汉化 效果对比 django admin 后台 报错信息 配置 修改配置文件中的 LANGUAGE_CODE 与 TIME_ZONE 即可. 将 django admin 后 ...
- django博客项目6:Django Admin 后台发布文章
在此之前我们完成了 Django 博客首页视图的编写,我们希望首页展示发布的博客文章列表,但是它却抱怨:暂时还没有发布的文章!如它所言,我们确实还没有发布任何文章,本节我们将使用 Django 自带的 ...
- Django Admin后台添加用户时出现报错:1452
如果在使用Django Admin后台添加用户时出现报错: (1452, 'Cannot add or update a child row: a foreign key constraint fai ...
- 实现django admin后台到xadmin后台的转变
虽然不做前端,还是喜欢好看的东西~.~ 之前同事估计也是功能实现没空管这个后台,前段时间闲的,稍微改了下外貌,前后对比下: Python3.5+Django1.9.7+Xadmin0.6.1 步骤如下 ...
- Django admin 后台管理
在App 文件夹下的 admin.py 文件中写入 from django.contrib import admin from app名 import models admin.site.site_h ...
- django admin后台插件:django-suit入门
去年9月底开始用django来做公司内部项目,开始对django有了一些了解,感觉django真的蛮强大的(也有很多人推荐flask,将来有空的话我会试试).今天的话只是介绍一个小东西,django管 ...
- django admin后台的简单使用
创建自己的model.py文件 from django.db import models from django.contrib.auth.models import ( BaseUserManage ...
- Django Admin后台管理模块的使用
Admin后台管理模块的使用 Django的管理员模块是Django的标准库django.contrib的一部分.这个包还包括其它一些实用的模块: django.contrib.auth django ...
- Django - admin后台、auth权限
admin后台 一.创建一个管理员用户 (1).设置时区.语言(可选步骤) 打开settings.py,改成下面那样 LANGUAGE_CODE = 'zh-Hans' TIME_ZONE = 'As ...
随机推荐
- pgAdmin4 ubuntu python 安装
ubuntu安装pgAdmin4,通过python的pip 安装 pgAdmin4.(首更时间20161205) 新版本的pgAdmin4目前支持mac/window/linux/python,可是l ...
- 如何在PeopleSoft中找到并更改默认样式表名称
PeopleSoft的默认样式表名称是用来控制应用程序的外观的.在PeopleSoft中可以使用集中样式表来更改应用程序的外观,oracle为每个应用程序版本设置了默认的样式表. 下面是不同应用程序版 ...
- 网络基础 HTTP协议之http url简介
HTTP协议之http url简介 by:授客 QQ:1033553122 http url简介 http url通过http协议,用于定位网络资源,是一种特殊类型的URI(统一资源定位) http_ ...
- HttpServletRequest的使用
当HTTP转发给Web容器处理时,Web容器会收集相关信息,并产生HttpServletRequest对象,使用这个对象可以取得所有HTTP请求中的信息,可以在Servlet中进行处理,也可以转发给其 ...
- 从零自学Java-7.使用数组存储信息
1.创建数组: 2.设置数组的大小: 3.为数组元素赋值: 4.修改数组中的信息: 5.创建多维数组: 6.数组排序. 程序SpaceRemover:显示输入字符串,并将其中所有的空格字符替换为句点字 ...
- Azure 中的 Windows 虚拟机概述
Azure 虚拟机 (VM) 是 Azure 提供的多种可缩放按需分配计算资源之一. 通常情况下,如果需要以更大的力度(相对于其他控制选项)控制计算环境,则应选择 VM. 本文介绍创建 VM 之前的注 ...
- 移除jboss响应中的中间件信息
JBoss 4.2 Suppressing the X-Powered-By header in JBoss 4.2.x can be done by modifying the web.xml fi ...
- mysql INSERT的几个语法 IGNORE|REPLACE|LOW_PRIORITY | DELAYED
INSERT IGNORE 与INSERT INTO的区别就是INSERT IGNORE会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据.这样就可以保留 ...
- Android external扩展工程
Android的扩展工程包含在external文件夹中,这是一些经过修改后适应Android系统的开源工程,这些工程有些在主机上运行,有些在目标机上运行: 工程名称 工程描述 aes 高级加密标 ...
- (转)glew的安装
http://blog.sina.com.cn/s/blog_858820890100vbys.html 下载链接: https://sourceforge.net/project/downloadi ...