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
初做后台界面要注意哪些问题
平时由于项目时间紧张,往往没有多的时间去设计后台界面,刚好开年这段时间没有什么事情,老大让我们基于Element的规范制作一套通用的模板,来满足日常的需要,让工程师自己就可以根据模板规范搭建出还不错的界面效果,但是平时很少设计后台界面同时对于Element也不太熟悉,具体该如何下手呢?下面我主要从三个方面来进行。
初做后台界面要注意哪些问题
|
3天前
|
搜索推荐 数据安全/隐私保护 UED
管理后台403页面的优雅实现策略
在管理后台的开发中,403页面是一个不可忽视的存在。它不仅关系到用户体验,还涉及到系统的安全性和专业性。一个优雅实现的403页面,能够在用户无权访问某个资源时提供清晰的反馈,同时保持管理后台的整洁和一致性。以下是几个关键步骤和技术分享,帮助你实现一个既优雅又有效的403页面。
12 2
|
6月前
|
druid NoSQL Redis
后台组件-配置
配置组件集成了平台所需的各类公用配置
|
前端开发
怎么查看前端表单提交到后台的所有参数
怎么查看前端表单提交到后台的所有参数
34 0
PbootCMS自定义前台404错误页面
PbootCMS自定义前台404错误页面
771 0
PbootCMS自定义前台404错误页面
|
JSON 前端开发 JavaScript
前端重新部署如何通知用户刷新网页?
如果后端可以配合我们的话我们可以使用webSocket 跟后端进行实时通讯,前端部署完之后,后端给个通知,前端检测到Message进行提示,还可以在优化一下使用EvnentSource 这个跟socket很像只不过他只能后端往前端推送消息,前端无法给后端发送,我们也不需要给后端发送。
175 0
前端重新部署如何通知用户刷新网页?
|
SQL Python
DjangoAdmin后台的一些设置
DjangoAdmin后台的一些设置
103 0
后台登录模块理解
后台登录模块理解
PbootCMS开启后台菜单管理功能
PbootCMS开启后台菜单管理功能
711 0
PbootCMS开启后台菜单管理功能
|
Web App开发 前端开发 API
你知道关闭页面时怎么向后台发送消息吗?
这两天碰到一个需求:在用户刷新页面或者关闭页面的时候,前端要给后台发一条请求,释放该页面的授权占用。
212 0
你知道关闭页面时怎么向后台发送消息吗?