DjangoAdmin后台的一些设置

简介: DjangoAdmin后台的一些设置

后台汉化

settings.py

LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'

后台标题和名称的修改

admin.py

admin.site.site_header = '后台管理'

admin.site.site_title = '后台管理title'

favicon.ico配置

找到django安装目录

$ python -c "import django;print(django.__path__)"

将默认模板contrib/admin/templates/admin/base_site.html

复制到/templates/admin/base_site.html

<link rel="icon" type="image.png" href="/static/img/favicon.ico">

添加后台logo

修改 /templates/admin/base_site.html

{% block branding %}
<img src="/static/img/xiaomi_logo.png" style="line-height: 40px; width: 40px;height: 40px;float: left;">
<h1 id="site-name" style="float: left;">
<a href="{% url 'admin:index' %}">{ { site_header|default:_('Django administration') }}</a>
</h1>
{% endblock %}

查看sql执行日志

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
},
},
'loggers': {
'django.db.backends': {
'handlers': ['console'],
'propagate': True,
'level': 'DEBUG',
},
}
}

后台显示数据

admin.py

from django.contrib import admin

# Register your models here.
from login.models import Members
from login.models import Types

# 装饰器注册
@admin.register(Members)
class MembersAdmin(admin.ModelAdmin):
# listdisplay设置要显示在列表中的字段(id字段是Django模型的默认主键)
list_display = ('name', 'sex', 'age', 'TEL', 'member_type')

# list_per_page设置每页显示多少条记录,默认是100条
list_per_page = 50

# ordering设置默认排序字段,负号表示降序排序
# ordering = ('-name',)

# 操作项功能显示位置设置,两个都为True则顶部和底部都显示
actions_on_top =True
actions_on_bottom = True
# 操作项功能显示选中项的数目
actions_selection_counter = True
# 字段为空值显示的内容
empty_value_display = ' -空白- '

# list_editable 设置默认可编辑字段(name默认不可编辑,因为它是一个链接,点击会进入修改页面)
list_editable = ['TEL', 'member_type',]

# fk_fields 设置显示外键字段
fk_fields = ('member_type',)

# 过滤器功能及能过滤的字段
list_filter = ('name', 'member_type')
# 搜索功能及能实现搜索的字段
search_fields = ('name', 'TEL', )


# 注册函数注册
admin.site.register(Types)

显示颜色

models.py

from django.db import models
from django.utils.html import format_html


class Members(models.Model):
name = models.CharField(max_length=20)
sex = models.CharField(max_length=2)
age = models.IntegerField(null=True)

def sex_color(self):
if self.sex == '男':
color = '#00F'
elif self.sex == '女':
color = '#F00'
else:
color = ''
return format_html(
'<span style="color: {}">{}</span>',
color,
self.sex,
)

admin.py修改显示

list_display = ('name', 'sex_color', 'age')

参考:

Django(五)后台显示自定义

            </div>
目录
相关文章
|
SQL 算法 数据库
OceanBase 查询优化 | 学习笔记
快速学习 OceanBase 查询优化
OceanBase 查询优化 | 学习笔记
|
存储 弹性计算 网络安全
阿里云云计算专业认证考试(Alibaba Cloud Certified Professional,ACP)
认证介绍 阿里云云计算专业认证(ACP级-Alibaba Cloud Certified Professional)是面向使用阿里云云计算产品的架构、开发、运维类人员的专业技术认证,主要涉及阿里云的计算、存储、网络、安全类的核心产品。
|
弹性计算 应用服务中间件 双11
阿里云2核2G4M轻量应用服务器49.68元一年(多配置可选)
2022阿里云双十一优惠活动2核2G轻量应用服务器4M带宽优惠价49.68元一年,多配置可选,配置不同价格不同,不只是轻量应用服务器还可以选择云服务器ECS
1142 0
阿里云2核2G4M轻量应用服务器49.68元一年(多配置可选)
|
Windows
解决.net framework 3.5 安装报错 0x800F0954问题
解决.net framework 3.5 安装报错 0x800F0954 方法步骤。
8303 1
|
Oracle 关系型数据库 数据库
Oracle 查看当前会话 SESSION ID 方法
查看当前会话的session  ID 有如下三种方法:   1.   v$mystat视图   SQL> desc v$mystat  Name                ...
2235 0
|
数据采集 JSON 缓存
电商数据抓取的几种方式分享-开发平台接口、网络爬虫数据、数据挖掘
电商数据抓取的几种方式分享-开发平台接口、网络爬虫数据、数据挖掘
|
存储 移动开发 小程序
微搭低代码入门教程02
微搭低代码入门教程02
微搭低代码入门教程02
|
存储 人工智能 iOS开发
Adobe illustrator2023最新免费版下载及功能介绍AI2023
Adobe Illustrator (AI 2023)是Adobe在设计行业生产的最受欢迎的矢量图形软件之一,它已经成为行业标准之一。全球数百万设计师和艺术家正在使用Illustrator进行设计和艺术创作。Illustrator广泛应用于平面设计、标志设计、图标设计、书籍插图、包装设计、印刷、广告设计和插画设计。
2725 0
|
XML 架构师 Java
只懂黑盒测试也能学会的代码覆盖率及精准化测试
测试覆盖率是对测试完成程度的度量。它通常依据某种覆盖准则来对测试用例执行情况进行衡量,以判断测试执行得是否充分 。 ——出自《 计算机科学技术名词 》第三版 今天文章中我们给大家介绍覆盖率统计及覆盖率分析。在10月13日20:00,资深测试开发架构师思寒将光临直播间手把手教大家如何搞定精准化测试! 温馨提示:你以为代码覆盖率与精准化测试知识与黑盒测试无缘?不,你只是没遇到思寒讲的这节课。
只懂黑盒测试也能学会的代码覆盖率及精准化测试
|
监控 Java Android开发
【字节码插桩】AOP 技术 ( “字节码插桩“ 技术简介 | AspectJ 插桩工具 | ASM 插桩工具 )
【字节码插桩】AOP 技术 ( “字节码插桩“ 技术简介 | AspectJ 插桩工具 | ASM 插桩工具 )
595 0
【字节码插桩】AOP 技术 ( “字节码插桩“ 技术简介 | AspectJ 插桩工具 | ASM 插桩工具 )