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 ...
随机推荐
- 百度Ocr文字识别
简述 最近开发一个项目需要用到Ocr文字识别技术来识别手写文字,在评估过程中体验了百度的文字识别和腾讯的文字识别.查找官方开发文档,发现它们都有印刷体和手写体两种符合项目需求的识别模式,但是腾讯的手写 ...
- 解决 web.xml is missing and <failOnMissingWebXml> is set to true 报错
在学习maven模块化构建项目的时候遇到了如下报错信息: web.xml is missing and <failOnMissingWebXml> is set to true. 这时候需 ...
- Python笔记(三):构建发布模块
(一) 准备工作 1. 新建一个模块(名称自定义),存放要发布的模块代码. 2. 新建一个setup.py的模块(存放模块的元数据,描述相关信息). 3. 新建一个文件夹(名称 ...
- 留言板0.3_models设计
1.编写"message.models": class UserMessage(models.Model): name = models.CharField(max_length= ...
- LeetCode题解之Contains Duplicate II
1.题目描述 2.题目分析 使用哈希表 和分情况讨论的方法 3.代码 bool containsNearbyDuplicate(vector<int>& nums, int k) ...
- win10 安装microsoft.net framework3.5
转载于:https://www.windows10.pro/win10-net-framework-3-5/ 之前手残不小心把microsoft.net framework3.5删了,结果导致Sql ...
- django -- Celery实现异步任务
1. 环境 python==2.7 djang==1.11.2 # 1.8, 1.9, 1.10应该都没问题 celery-with-redis==3.0 # 需要用到redis作为中间人服务(Bro ...
- 一个汇编的HelloWorld!
花了一下午时间,感觉最坑的是,书写代码的个数和编译器的坑比较多,还各种版本的编译器! 会让人“眼花缭乱”! 主要代码 将文件保存为*.asm include io32.inc .data ;数据 sr ...
- 乘风破浪:LeetCode真题_032_Longest Valid Parentheses
乘风破浪:LeetCode真题_032_Longest Valid Parentheses 一.前言 这也是非常有意思的一个题目,我们之前已经遇到过两个这种括号的题目了,基本上都要用到堆栈来解决,这次 ...
- 阿里八八Alpha阶段Scrum(1/12)
任务分配 叶文滔:整体框架UI设计.作为组长进行任务协调 俞鋆:后端服务器及数据库搭建 王国超:日程模块多日显示部分设计 黄梅玲:日程模块单日显示部分设计 林炜鸿:日程模块文本添加部分设计 张岳.刘晓 ...