越光后端开发——ygapi(3.引入xadmin)
1.引入xadmin
1.将xadmin文件夹放入extra_apps目录下:

2.在每个app下新建adminx.py
1.apps/users/目录下新建adminx.py:
import xadmin
from xadmin import views
from .models import WxUsers
class BaseSetting(object):
enable_themes = True
use_bootswatch = True
class GlobalSettings(object):
site_title = "越光后台管理系统"
site_footer = "yg"
# menu_style = "accordion"
class WxUsersAdmin(object):
list_display = ["open_id", "token", "nickName", "gender","province","city","country","last_login_time","add_time"]
list_filter = [ "gender","province","city","country","last_login_time","add_time"]
search_fields = ["gender","province","city","country" ]
xadmin.site.register(WxUsers, WxUsersAdmin)
xadmin.site.register(views.BaseAdminView, BaseSetting)
xadmin.site.register(views.CommAdminView, GlobalSettings)
2.apps/wish/目录下新建adminx.py:
import xadmin
from .models import Wish, News
class WishAdmin(object):
list_display = ['wxuser', 'content',"status","pv_num","up_num", "share_num","bb_num","end_time","add_time"]
list_filter =['wxuser', 'content',"status","pv_num","up_num", "share_num","bb_num","end_time","add_time"]
search_fields=['wxuser', 'content',"status","pv_num","up_num", "share_num","bb_num"]
class NewsAdmin(object):
list_display = ['user', 'banner',"title","content","add_time"]
list_filter =['user', 'banner',"title","content","add_time"]
search_fields=['user', 'banner',"title","content"]
xadmin.site.register(Wish, WishAdmin)
xadmin.site.register(News, NewsAdmin)
3.apps/user_operation/目录下新建adminx.py:
import xadmin
from .models import Message,Pick,Share,Notice
class MessageAdmin(object):
list_display = ['user_send', 'user_receive',"wish","content","is_read","add_time"]
list_filter =['user_send', 'user_receive',"wish","content","is_read","add_time"]
search_fields=['user_send', 'user_receive',"wish","content","is_read"]
class PickAdmin(object):
list_display = ['user', 'wish',"action","add_time"]
list_filter =['user', 'wish',"action","add_time"]
search_fields=['user', 'wish']
class ShareAdmin(object):
list_display = ['user', 'wish',"add_time"]
list_filter =['user', 'wish',"add_time"]
search_fields=['user', 'wish']
class NoticeAdmin(object):
list_display = ['admin', 'content',"add_time"]
list_filter =['admin', 'content',"add_time"]
search_fields=['admin', 'content']
xadmin.site.register(Message, MessageAdmin)
xadmin.site.register(Pick, PickAdmin)
xadmin.site.register(Share, ShareAdmin)
xadmin.site.register(Notice, NoticeAdmin)
3.安装和配置xadmin依赖包
1.安装依赖包 django-crispy-forms django-reversion django-formtools future httplib2 six django-import-export
pip install django-crispy-forms django-reversion django-formtools future httplib2 six django-import-export
2.在settings中注册

3.安装用来操作和导出Excel文件的包 xlwt xlsxwriter
pip install xlwt xlsxwriter
4.打开终端,执行数据更新命令,生成xadmin默认的表
python manage.py makemigrations python manage.py migrate
5.配置url,在ygapi/urls.py:
from django.contrib import admin
from django.urls import path
import xadmin
urlpatterns = [
# path('admin/', admin.site.urls),
path('xadmin/', xadmin.site.urls),
]
注意:真正上线之时,要把xadmin的路由设置一串密文那样复杂,面对真正的渗透高手,隐藏好后台管理系统的URL是唯一有意义的防范措施。
6.创建超级用户
python manage.py createsuperuser Username: admin 邮箱: Password: Password (again):
创建完毕,启动项目,然后访问
http://127.0.0.1:8000/xadmin/
就可以登录xadmin后台了,但是此时后台还是英文的。
7.将语言设定为中文
1.在settings中修改

LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True USE_TZ = False


2.在每个app下的apps.py中做修改,加上verbose_name
1.apps/users/apps.py:
from django.apps import AppConfig
class UsersConfig(AppConfig):
name = 'users'
verbose_name = '用户'

1.apps/user_operation/apps.py:
from django.apps import AppConfig
class UserOperationConfig(AppConfig):
name = 'user_operation'
verbose_name = '用户操作'
1.apps/wish/apps.py:
from django.apps import AppConfig
class WishConfig(AppConfig):
name = 'wish'
verbose_name = '愿望'
这时再看xadmin界面,已经变成中文的了。

越光后端开发——ygapi(3.引入xadmin)的更多相关文章
- 越光后端开发——ygapi(1.新建项目ygapi、新建MySQL数据库yg、项目连接数据库)
1.新建MySQL数据库 show databases;//查看已经有的数据库 create database yg; 2.新建项目ygapi 1.使用pycharm新建django项目取名ygapi ...
- 越光后端开发——ygapi(2.新建Model)
1.新建Model 1.users数据 1.在apps/users/models.py中: from datetime import datetime from django.db import mo ...
- 超越村后端开发(2:新建models.py+xadmin的引入)
1.新建Model 1.users数据 1.在apps/users/models.py中: from datetime import datetime from django.db import mo ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史
---新内容开始--- 番外 大家周一好呀,又是元气满满的一个周一呀!感谢大家在周一这个着急改Bug的黄金时期,抽出时间来看我的博文哈哈哈,时间真快,已经到第十四篇博文了,也很顺顺(跌跌)利利 (撞撞 ...
- 后端开发实践——Spring Boot项目模板
在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为"第0个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...
- ABP开发框架前后端开发系列---(3)框架的分层和文件组织
在前面随笔<ABP开发框架前后端开发系列---(2)框架的初步介绍>中,我介绍了ABP应用框架的项目组织情况,以及项目中领域层各个类代码组织,以便基于数据库应用的简化处理.本篇随笔进一步对 ...
- ABP开发框架前后端开发系列---(2)框架的初步介绍
在前面随笔<ABP开发框架前后端开发系列---(1)框架的总体介绍>大概介绍了这个ABP框架的主要特点,以及介绍了我对这框架的Web API应用优先的一些看法,本篇继续探讨ABP框架的初步 ...
- ABP开发框架前后端开发系列---(9)ABP框架的权限控制管理
在前面两篇随笔<ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理>和<ABP开发框架前后端开发系列---(8)ABP框架之Winform界面的开发过程>开始 ...
- ABP开发框架前后端开发系列---(12)配置模块的管理
一般来说,一个系统或多或少都会涉及到一些系统参数或者用户信息的配置,而ABP框架也提供了一套配置信息的管理模块,ABP框架的配置信息,必须提前定义好配置的各项内容,然后才能在系统中初始化或者通过接口查 ...
随机推荐
- SQL Server Mirror 断开后,删除副本上镜像数据库
一般而言,SQL Server 在数据库级别进行数据同步的方式主要有三种 1.日志传送:2.Mirror(镜像):3. AlwaysOn.复制订阅技术理解为表级别的同步,不归结为数据库级别的同步. 在 ...
- Linux 中磁盘阵列RAID10损坏以及修复
在Linux 中磁盘阵列RAID10配置中我们已经正确配置了RAID10 ,一般来说在RAID10中最多允许50%的磁盘损毁,当然除了,同一磁盘RAID1中的硬盘设备全部损毁. 这次我们讨论一下:假设 ...
- mysql8.0版本修改密码
登录之后使用如下命令: ALTER USER 'root'@'localhost' IDENTIFIED BY "你的新密码"; 还有不知是不是因为mysql版本问题,一开始设置的 ...
- windows批处理添加AD域账户
因为要用个批处理命令在Windows Server里面批量添加域用户,所以需要使用批处理命令. 我这篇是纯新手教程,在百度上搜了一些批处理命令感觉属于进阶教程,研究了两天才完成我要完成的目标. 下面从 ...
- 安装mysql的踩坑之旅
近期的一个项目要求用mysql数据库,正好系统重装了,复习下mysql的安装,哪成想是踩了无数坑啊! 要安装首先自然是火速进官网下个安装包(下载地址https://dev.mysql.com/down ...
- private,protected,public和default的区别
private,protected,public和default的区别 除了default以外,其他都是Java语言的关键字.default代表的是对类成员没有进行修饰的情况.它本身也代表了一种访问控 ...
- 【P2015】二叉苹果树 (树形DP分组背包)
题目描述 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1. 现在这颗树枝条太多了,需要剪枝.但是 ...
- 随心测试_软测基础_002_<测试工程师_核心技能体系>
测试工程师核心技能体系构成 测试基础体系:[对象——>方法——>流程].[测试活动类型——>质量] 测试分析体系:[测试对象分析]——>[测试设计(计划.数据.用例.文档)] ...
- vuex state使用
访问vuex中的state值 方式1 <div>{{$store.state.count}}</div> 方式2 <template> <div id=&qu ...
- 3 数据分析之Numpy模块(2)
数组函数 通用元素级数组函数通用函数(即ufunc)是一种对ndarray中的数据执行元素级的运算.我们可以将其看做是简单的函数(接收一个或多个参数,返回一个或者多个返回值). 常用一元ufunc: ...