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>
目录
相关文章
|
前端开发 JavaScript API
前端技术探索:从基础到未来趋势的深度剖析
前端技术探索:从基础到未来趋势的深度剖析
305 1
|
决策智能 开发者
手把手教你如何用AIGC大模型写一首歌
本文记录了作者用大模型创作歌曲及视频的全过程。
414 10
|
机器学习/深度学习 算法 算法框架/工具
e - 一个神奇的存在
本文介绍了数学常数e,即自然对数的底,约等于2.71828,由欧拉命名。e是一个无限不循环小数,可通过级数1 + 1/n!表示。e在数学、物理、工程和计算机科学等领域有广泛应用,尤其在微积分、复利、概率统计和算法分析中扮演关键角色。它是自然界和科学研究中的基本概念。
1258 1
|
机器学习/深度学习
SVM和SVMR有什么区别
SVM和SVMR有什么区别
658 11
|
机器学习/深度学习 人工智能 搜索推荐
人工智能与未来医疗:AI技术如何重塑医疗健康领域###
【10月更文挑战第21天】 一场由AI驱动的医疗革命正在悄然发生,它以前所未有的速度和深度改变着我们对于疾病预防、诊断、治疗及健康管理的认知。本文探讨了AI在医疗领域的多维度应用,包括精准医疗、药物研发加速、远程医疗普及以及患者个性化治疗体验的提升,揭示了这场技术变革背后的深远意义与挑战。 ###
726 6
|
机器学习/深度学习 前端开发 计算机视觉
【YOLOv8改进】Explicit Visual Center: 中心化特征金字塔模块(论文笔记+引入代码)
YOLO目标检测专栏介绍了YOLO的有效改进和实战案例,包括卷积、主干网络、注意力机制和检测头的创新。提出中心化特征金字塔(CFP)解决特征交互和局部区域忽视问题。CFP通过空间显式视觉中心方案和全局集中特征规范增强模型表现,尤其在YOLOv5和YOLOX上表现提升。创新点包括轻量级MLP和并行视觉中心机制,以捕获全局和局部信息。YOLOv8引入EVCBlock整合这些改进。详细代码和配置见链接。
|
存储 索引
打造个人知识管理系统:从信息收集到知识应用
【9月更文挑战第10天】在信息爆炸的时代,如何高效地管理和利用信息成为现代人面临的一大挑战。本文将介绍如何构建一个个人知识管理系统,包括信息收集、整理、存储和检索的全过程。我们将探讨使用数字工具进行信息管理的方法,并分享一些实用的技巧和策略。无论你是学生、职场人士还是终身学习者,这些方法都将帮助你更好地管理知识和提升学习效率。
426 10
|
机器学习/深度学习 人工智能 算法
人工智能在医疗诊断中的应用与挑战
本文深入探讨了人工智能在医疗诊断领域的应用现状、面临的挑战以及未来的发展趋势。随着技术的不断进步,AI在医疗诊断中展现出巨大的潜力,但同时也伴随着数据隐私、算法透明度和伦理问题等挑战。通过分析这些问题,本文旨在为医疗行业提供对AI技术更深入的理解和合理的应用指导。
|
存储 Python
Python Logging 限制文件大小
Python Logging 限制文件大小
227 0
|
数据可视化 数据挖掘 Python
【Python DataFrame专栏】DataFrame的可视化探索:使用matplotlib和seaborn
【5月更文挑战第20天】本文介绍了使用Python的pandas、matplotlib和seaborn库进行数据可视化的步骤,包括创建示例数据集、绘制折线图、柱状图、散点图、热力图、箱线图、小提琴图和饼图。这些图表有助于直观理解数据分布、关系和趋势,适用于数据分析中的探索性研究。
451 1
【Python DataFrame专栏】DataFrame的可视化探索:使用matplotlib和seaborn