首页 > 其他分享 >Django SimpleUI打造美丽后台

Django SimpleUI打造美丽后台

时间:2023-09-17 23:13:08浏览次数:40  
标签:verbose admin py django models 后台 Django SimpleUI name

Django SimpleUI打造美丽后台

Django后台美化插件中,SimpleUI处于第一阵营,非常符合国人的审美观。本文将手把手教你如何配置使用Simple UI, 包括自定义菜单和控制面板等高级使用技巧.

 

安装

 

第一步 pip安装并加入INSTALLED_APPS

pip install django-simpleui

 

  修改settings.py, 将simpleui加入到INSTALLED_APPS里去,放在第一行,也就是django自带admin的前面。

 

INSTALLED_APPS = [
       'simpleui', # 注意这里
       'django.contrib.admin',
       'django.contrib.auth',
       'django.contrib.contenttypes',
       'django.contrib.sessions',
       'django.contrib.messages',
       'django.contrib.staticfiles',
       ...     
 ]

第二步 测试是否安装成功

使用python manage.py runserver命令启动本地测试服务器, 访问/admin/, 如果你能看到如下页面说明安装成功。

 

 

注意:如果你在生成环境中使用SimpleUI,还需要使用python manage.py collectstatic命令收集静态文件,否则样式无法正常显示。

常用配置

 

当你看到以上界面时,首先你想改动的一定是语言,去掉SimpleUI的默认logo,并把Django administration改成比如某某管理后台的名字。

修改settings.py, 添加如下代码:

 

# 更改默认语言为中文
 LANGUAGE_CODE = 'zh-hans'
 
 # 去掉默认Logo换成自定义Logo链接
 SIMPLEUI_LOGO = 'https://th.bing.com/th/id/R2411a2b340731d67dfa0d84503e915e3?rik=zmYce%2fLys72JVQ&pid=ImgRaw'

修改管理后台的名称和标题要稍微复杂些,因为你不能直接在settings.py里进行配置。在任何一个app的目录下新建一个admin.py, 添加如下代码即可修改(本例app名为tasks)。这个设置属于Django的设置,不属于SimpleUI的设置。

修改管理后台的名称和标题

# tasks/admin.py
 from django.contrib import admin
 
 admin.site.site_header = '大江狗管理后台'  # 设置header
 admin.site.site_title = '大江狗管理后台'   # 设置title
 admin.site.index_title = '大江狗管理后台'
 
 from .models import Task
 admin.site.register(Task)

 

语言、logo和管理后台名字都已经改过来了。但是你会发现两个问题,左侧菜单的tasks显示的依然是英文,我们需要将其设置成中文。另外,右侧有simpleui的广告链接,页面背后有js文件跟踪simpleui的使用,这些都需要关闭。

自定义或第三方APP名和模型名修改成中文

修改tasks/app.py, 通过verbose_name可以将app名改为中文,这里将tasks 改成了任务管理。

from django.apps import AppConfig
 
 class TasksConfig(AppConfig):
     name = 'tasks'
 
     verbose_name = '任务管理'

接着修改tasks/models.py, 以中文设置模型的verbose_name, 如下所示:

from django.db import models
 
 class Status(models.TextChoices):
     UNSTARTED = 'u', "Not started yet"
     ONGOING = 'o', "Ongoing"
     FINISHED = 'f', "Finished"
 
 
 class Task(models.Model):
     name = models.CharField(verbose_name="Task name", max_length=65, unique=True)
     status = models.CharField(verbose_name="Task status", max_length=1, choices=Status.choices)
     
     class Meta:
         verbose_name = "任务"
         verbose_name_plural = "任务"
 
     def __str__(self):
         return self.name

现在刷新页面,你将看到tasks英文都变成中文了

 

实际Django开发中,还会用到第三方应用app和第三方app提供的模型,我们也可以通过打补丁的方式更改第三方app或模型以及模型字段的verbose_name或者label,将其修改成中文,如下所示:

from third_package.models import ModelA
 
 MyAppModel._meta.verbose_name = ''
 MyAppModel._meta.verbose_name_plural = ''
 MyAppModel._meta.get_field('first_name').verbose_name = '名字'

关闭右侧广告链接和使用分析

修改settings.py, 添加如下两行代码:

# 隐藏右侧SimpleUI广告链接和使用分析
SIMPLEUI_HOME_INFO = False
SIMPLEUI_ANALYSIS = False

 

参考链接

参考大佬地址: https://pythondjango.cn/django/applications/4-django-simple-ui-configuration/

 

 

标签:verbose,admin,py,django,models,后台,Django,SimpleUI,name
From: https://www.cnblogs.com/weiweirui/p/17710081.html

相关文章

  • Django Wagtail
    DjangoWagtailDjangoWagtail是一个基于Django的CMS框架,下面是配置和使用示例: 安装DjangoWagtail可以使用pip安装DjangoWagtail:  pipinstallwagtail创建Django项目在安装DjangoWagtail之后,可以使用以下命令创建Django项目: django-adminstartprojectmyproj......
  • Django在dateTime-loca默认展示查询的日期时间
     1、默认展示固定的一个日期时间<inputtype="datetime-local"name="tenderEndTime"value="2022-01-01T18:00"">2、展示后端查询的日期时间html:<inputtype="datetime-local"name="tenderEndTime"value="{{ins......
  • 物联网项目-温湿度-Web后台
    0、背景物联网温湿度检测管理后台,使用“若依”后台管理系统开发。技术栈:SpringBoot,Mybatis,Shiro,Thymeleaf,Bootstrap。1、界面展示设备管理设备状态仪表台设备日志定时任务-终端在线状态检测......
  • django—实现前端页面批量删除功能
    views.py代码:fromdjango.shortcutsimportrender,redirectfrom.modelsimportYourModel#使用你实际的模型名称替换defbatch_delete(request):ifrequest.method=='POST':ids=request.POST.get('ids')ifids:......
  • 从零开始使用vue2+element搭建后台管理系统(主页)
    登录后,应有一个主页,可以展示当前用户的一些信息,例如上次登录时间地点、修改手机号、重置密码等简单功能,如图:  首先在views下新建HomeView.vue文件:<template><el-row><el-col:span="24"><!--user卡片--><el-card><divclass="user"&g......
  • uniapp-net core后台-实现认证
    一在program.cs中添加cookie认证builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(options=>{options.Cookie.Name="auth";options.ExpireTimeSpan=TimeSpan.FromDays(1);options.Sli......
  • 做网站后台学什么语言好?
    在做网站后台开发时,有许多不同的编程语言可供选择。以下是几种常用的后台开发语言:PHP:PHP是一种用于Web开发的流行语言,特别适用于构建动态网站。它具有广泛的支持和丰富的开发资源,易于学习和使用。Python:Python是一种多用途的编程语言,适用于各种领域,包括网站开发。它具有简洁易读的......
  • django项目(博客二)
    扩展1:admin路由分发的本质路由分发本质include可以无限制的嵌套N多层url(r'^index/',([],None,None))扩展2:由于url方法第一个参数是正则表达式,所有当路由特别多的时候,可能会出现被顶替的情况,针对这种情况有两种解决方式建好路由,先和视图函数继续试验一下,避免路由被顶替......
  • 从零开始使用vue2+element搭建后台管理系统(实现按钮权限控制)
    思路:登录后请求用户信息接口,后端返回用户信息中包括权限数组,数据格式belike: 前端对用户信息进行存储(对没错又是假接口)://获取用户信息asyncgetUserInfo(mobile){try{this.loading=true;constres=awaitgetInfo(mobile);......
  • vue项目打包编译后如何修改后台请求地址
    1、在public文件夹下新建config.js文件2、config.js文件中,编写配置地址代码 3、在index中引入js文件 4、使用config.js中的变量,vue页面,js页面都可以用window.setURL.publicBaseUrl ......