- 1.1 安装simpleui
- 1.2 simpleui的相关配置
- 1.3 simpleui的后台中文化设置
- 1.4 simpleui的app的名称显示
- 1.5 admin的后台显示
- 1.6 admin的后台相关数据的导出
- 1.7 admin的后台对相关记录表的相关操作
- 1.8 admin页面中设置只读字段
- 1.9 admin页面克隆静态文件
- 2.0 admin页面登陆界面的粒子效果
- 2.1 admin登陆成功后首页的相关信息显示(固定首页为一个网页)
- 2.2 admin登陆图标跳转
- 2.4 admin登陆成功后首页的相关信息显示(首页固定为原信息做出修改)
- 2.5 admin登陆成功后首页的相关信息显示-服务器信息是否显示(首页固定为原信息做出修改)
- 2.6 admin登陆成功后首页的相关信息显示-快速操作是否显示(首页固定为原信息做出修改)
- 2.7 admin登陆成功后首页的相关信息显示-最近的行动是否显示(首页固定为原信息做出修改)
- 2.8 :后台界面的收集分析
- 2.8 :离线模式是否开启
- 2.9 :是否关闭Loading遮罩层
- 3.0 :修改登陆页文本标题(登陆成功后左上角的文本内容)
- 3.1 :修改url地址中的文本标题
1.1 安装simpleui
pip install django-simpleui
1.2 simpleui的相关配置
在settings.py
中的INSTALLED_APPS
中添加相关代码’simpleui.apps.SimpleApp’
1.3 simpleui的后台中文化设置
在settings.py
中的INSTALLED_APPS
进行以下数据设置:
LANGUAGE_CODE = ‘zh-Hans’ TIME_ZONE = ‘Asia/Shanghai’
zh-Hans是简体中文 zh-Hant是繁体中文,如果数据库有UTC的时间,那么可以设置:
USE_TZ = True 改为 USE_TZ = False
1.4 simpleui的app的名称显示
在相关app的apps的其中的相关的Config的类中添加相关操作
verbose_name = ‘用户操作明细管理’
并且在相关的app的init.py中添加相关操作
default_app_config = ‘dict.apps.DictConfig’
1.5 admin的后台显示
在相关app的admin.py的类中添加相关操作
class Invitationsdetaileds(admin.ModelAdmin):
list_per_page = 50 #每页显示的记录的数量
fields = ('UserId', 'UserName', 'DetailedMoney', 'remarks')#后台可以编辑界面显示的字段
list_display = ('UserId', 'UserName', 'DetailedMoney', 'remarks', 'detailedTime', 'InvitationCode')#后台显示界面显示的字段
search_fields = ('UserId',)#筛选的项
ordering = ('-UserId',)#排序的项
list_editable = ['balance', 'BlankCe', 'SumBlance']#可以免进入编辑界面可编辑的项
actions = ['publish_status']#自定义添加动作
site_header = '好医生运维资源管理系统' # 此处设置页面显示标题
site_title = '好医生运维' # 此处设置页面头部标题
"""
也可以在外面进行设置,设置如下:
admin.site.site_header = '修改后'
admin.site.site_title = '哈哈'
"""
def publish_status(self, request, queryset):
pass
publish_status.short_description = "定义的动作显示的名称"
admin.site.register(Invitations, Invitationsdetaileds)
1.6 admin的后台相关数据的导出
在admin.py的actions中添加相关的动作
def publish_status(self, request, queryset):
from django.http import HttpResponse
meta = self.model._meta # 用于定义文件名, 格式为: app名.模型类名
field_names = [field.name for field in meta.fields] # 模型所有字段名
response = HttpResponse(content_type='application/msexcel') # 定义响应内容类型
response['Content-Disposition'] = f'attachment; filename={meta}.xlsx' # 定义响应数据格式
from openpyxl import Workbook
wb = Workbook() # 新建Workbook
ws = wb.active # 使用当前活动的Sheet表
ws.append(field_names) # 将模型字段名作为标题写入第一行
for obj in queryset: # 遍历选择的对象列表
for field in field_names:
data = [f'{getattr(obj, field)}' for field in field_names] # 将模型属性值的文本格式组成列表
row = ws.append(data) # 写入模型属性值
wb.save(response) # 将数据存入响应内容
return response
publish_status.short_description = "导出信息"
1.7 admin的后台对相关记录表的相关操作
在admin.py的actions中添加相关的动作
def False__status(self, request, queryset):
for i in queryset.filter():
if i.state == '未完成' or i.state == None:
a = i.DetailedMoney
user_list_id = i.UserId
user_list = user.objects.get(UserId=user_list_id)
user_list.balance += a
# user_list.balance += float(a)
user_list.BlankCe = user_list.balance * 0.7
user_list.save()
i.state = '已完成'
i.save()
else:
pass
False__status.short_description = "测试动作"
1.8 admin页面中设置只读字段
在使用admin的时候,ModelAdmin默认对于model的操作只有增加,修改和删除,但是总是有些字段是不希望用户来编辑的。而 readonly_fields 设置之后不管是admin还是其他用户都会变成只读,而我们通常只是想限制普通用户。 这时我们就可以通过重写 get_readonly_fields 方法来实现对特定用户的只读显示。
def get_readonly_fields(self, request, obj=None):
""" 重新定义此函数,限制普通用户所能修改的字段 """
if request.user.is_superuser:
self.readonly_fields = []
return self.readonly_fields
1.9 admin页面克隆静态文件
克隆静态文件:
- DEBUG = True 安全警告:不要在生产中打开调试的情况下运行!
- 运行克隆静态文件命令,克隆静态资源到项目的静态目录,然后交由nginx处理 python manage.py collectstatic
STATIC_ROOT = os.path.join(BASE_DIR, "static")
2.0 admin页面登陆界面的粒子效果
关闭登陆页面的粒子动画:
- False 关闭
- True 开启,默认值
SIMPLEUI_LOGIN_PARTICLES = True
2.1 admin登陆成功后首页的相关信息显示(固定首页为一个网页)
simpleui内置了一个默认的首页,只是由简单的快捷导航与最近操作组成。
- 首页配置:SIMPLEUI_HOME_PAGE
- 首页标题:SIMPLEUI_HOME_TITLE
- 首页图标:SIMPLEUI_HOME_ICON
- 支持element-ui和fontawesome的图标,参考https://fontawesome.com/icons图标
使用事项:三项配置都是选填,不填都会有默认值。
SIMPLEUI_HOME_PAGE = 'https://www.baidu.com'
SIMPLEUI_HOME_TITLE = '百度一下你就知道'
SIMPLEUI_HOME_ICON = 'fa fa-user'
2.2 admin登陆图标跳转
首页顶部首页图标默认跳转地址为/,即根目录。如果需要自定义,请在项目的settings.py中加入设置:设置simpleui 点击首页图标跳转的地址可以设置相对与绝对路径。该地址并无特殊之处,将会调用window.open直接打开该地址。
SIMPLEUI_INDEX = 'https://www.88cto.com'
2.4 admin登陆成功后首页的相关信息显示(首页固定为原信息做出修改)
首页默认展示3个模块,服务器信息,快速操作,最近动作,大家可以根据需要来显示或者隐藏某些模块。
- 自定义SIMPLEUI的Logo:
- SIMPLEUI_LOGO = “picture_Url”
- picture_Url:图片的url地址
- 更多信息请参考:https://www.iconfont.cn/illustrations/index?spm=a313x.7781069.1998910419.3
SIMPLEUI_LOGO = 'https://iconfont.alicdn.com/t/a5bd00d7-baa2-46db-8ce7-12255f8d58e9.png'
2.5 admin登陆成功后首页的相关信息显示-服务器信息是否显示(首页固定为原信息做出修改)
是否在首页中显示服务器信息:SIMPLEUI_HOME_INFO
- False: 隐藏服务器信息
- True:显示服务器信息,默认值SIMPLEUI_HOME_QUICK = False
2.6 admin登陆成功后首页的相关信息显示-快速操作是否显示(首页固定为原信息做出修改)
注意事项:仅适用于simpleui内置的默认首页,当设定了自定义的首页信息后,这写效果无法可见
是否在首页中显示快速操作:SIMPLEUI_HOME_QUICK
- False: 隐藏服务器信息
- True:显示服务器信息,默认值
- 更多信息请参考:https://www.iconfont.cn/illustrations/index?spm=a313x.7781069.1998910419.3
注意事项:仅适用于simpleui内置的默认首页,当设定了自定义的首页信息后,这写效果无法可见
SIMPLEUI_HOME_ACTION = False
2.7 admin登陆成功后首页的相关信息显示-最近的行动是否显示(首页固定为原信息做出修改)
是否在首页中显示最近的行动:SIMPLEUI_ANALYSIS
- False: 隐藏服务器信息
- True:显示服务器信息,默认值
SIMPLEUI_ANALYSIS = False
注意事项:仅适用于simpleui内置的默认首页,当设定了自定义的首页信息后,这写效果无法可见
2.8 :后台界面的收集分析
使用分析:SIMPLEUI_ANALYSIS
- True:收集分析,一天只上报一次分析数据。默认为True
- False:不收集分析信息
默认开启,统计分析信息只是为了更好的帮助simpleui改进,并不会读取敏感信息。并且分析数据不会分享至任何第三方。
SIMPLEUI_ANALYSIS = False
2.8 :离线模式是否开启
离线模式:SIMPLEUI_STATIC_OFFLINE
- True:开启离线模式
- False:关闭离线模式,默认值为false
指定simpleui 是否以脱机模式加载静态资源,为True的时候将默认从本地读取所有资源,即使没有联网一样可以。适合内网项目
SIMPLEUI_STATIC_OFFLINE = True
2.9 :是否关闭Loading遮罩层
关闭Loading遮罩层:SIMPLEUI_LOADING
- False:关闭遮罩层
- True:True或None 默认显示加载遮罩层,指定为False 不显示遮罩层。默认显示
SIMPLEUI_LOADING = False
3.0 :修改登陆页文本标题(登陆成功后左上角的文本内容)
from django.contrib import admin
admin.AdminSite.site_header = 'Django-SimpleUI 示例'
3.1 :修改url地址中的文本标题
from django.contrib import admin
admin.AdminSite.site_title = 'Django-SimpleUI 示例'