[py][mx]xadmin详细设置-将app注册到xadmin
首先createsuperuser,创建用户, 然后登陆xadmin.
理解下models的各个字段
- 复数形式及返回

- 注册app
users/adminx.py

- 显示字段
users/adminx.py
注: 这里显示的顺序和列表顺序是一致的.

- 搜索字段(手动输入关键字搜索)search_fileds
users/adminx.py
一般不搜索时间,不好搜索. 这里看到还可以将数据导出各种格式.

到此为止,我们每个表的增删改查功能就齐全了.
- 过滤器list_filter(自动点选搜索), 可以通过时间来点点点过滤了

- 搜索字段和过滤器

class EmailVerifyRecordAdmin(object):
list_display = ['code', 'email', 'send_type', 'send_time']
search_fields = ['code', 'email', 'send_type']
list_filter = ['code', 'email', 'send_type', 'send_time']
- 修改app显示

app/__init__.py
default_app_config = "users.apps.UsersConfig"
users/apps.py
class UsersConfig(AppConfig):
name = 'users'
verbose_name = u"用户信息"
一个app下多个模型顺序
界面上的顺序和注册顺序一致

访问外键
course模型

一个course有多个lesson(章节), 章节里要过滤一些关于course的字段, 需要 course__name键的形式访问才会出现.

adminx.py
class LessonAdmin(object):
list_display = ['course', 'name', 'add_time']
search_fields = ['course', 'name', 'add_time']
list_filter = ['course__name', 'name', 'add_time']
代码
在users app下创建adminx.py
import xadmin
from users.models import EmailVerifyRecord, Banner
class EmailVerifyRecordAdmin(object):
list_display = ['code', 'email', 'send_type', 'send_time']
search_fileds = ['code', 'email', 'send_type']
list_filter = ['code', 'email', 'send_type', 'send_time']
xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)
courses/adminx.py
#!/usr/bin/env python
# coding=utf-8
import xadmin
from courses.models import Course, Lesson, Video, CourseResourse
class CourseAdmin(object):
list_display = ['name', 'desc', 'detail', 'degree', 'learn_times', 'students', 'fav_nums', 'image', 'click_nums',
'add_time']
search_fields = ['name', 'desc', 'detail', 'degree', 'learn_times', 'students', 'fav_nums', 'image', 'click_nums']
list_filter = ['name', 'desc', 'detail', 'degree', 'learn_times', 'students', 'fav_nums', 'image', 'click_nums',
'add_time']
xadmin.site.register(Course, CourseAdmin)
class LessonAdmin(object):
list_display = ['course', 'name', 'add_time']
search_fields = ['course', 'name', 'add_time']
list_filter = ['course__name', 'name', 'add_time']
xadmin.site.register(Lesson, LessonAdmin)
class VideoAdmin(object):
list_display = ['lesson', 'name', 'add_time']
search_fields = ['lesson', 'name']
list_filter = ['lesson', 'name', 'add_time']
xadmin.site.register(Video, VideoAdmin)
class CourseResourseAdmin(object):
list_display = ['course', 'name', 'download', 'add_time']
search_fields = ['course', 'name', 'download']
list_filter = ['course', 'name', 'download', 'add_time']
xadmin.site.register(CourseResourse, CourseResourseAdmin)
courses/__init__.py
default_app_config = "courses.apps.CoursesConfig"
courses/app.py
class CoursesConfig(AppConfig):
name = 'courses'
verbose_name = u"课程"
operation/xadmin.py
#!/usr/bin/env python
# coding=utf-8
import xadmin
from operation.models import UserAsk, CourseComments, UserFavorite, UserMessage, UserCourse
class UserAskAdmin(object):
list_display = ['name', 'mobile', 'course_name', 'add_time']
search_fields = ['name', 'mobile', 'course_name']
list_filter = ['name', 'mobile', 'course_name', 'add_time']
xadmin.site.register(UserAsk, UserAskAdmin)
class CourseCommentsAdmin(object):
list_display = ['user', 'course', 'comments', 'add_time']
search_fields = ['user', 'course', 'comments']
list_filter = ['user', 'course', 'comments', 'add_time']
xadmin.site.register(CourseComments, CourseCommentsAdmin)
class UserFavoriteAdmin(object):
list_display = ['user', 'course', 'fav_id', 'fav_type', 'add_time']
search_fields = ['user', 'course', 'fav_id', 'fav_type']
list_filter = ['user', 'course', 'fav_id', 'fav_type', 'add_time']
xadmin.site.register(UserFavorite, UserFavoriteAdmin)
class UserMessageAdmin(object):
list_display = ['user', 'message', 'has_read', 'add_time']
search_fields = ['user', 'message', 'has_read']
list_filter = ['user', 'message', 'has_read', 'add_time']
xadmin.site.register(UserMessage, UserMessageAdmin)
class UserCourseAdmin(object):
list_display = ['user', 'course', 'add_time']
search_fields = ['user', 'course']
list_filter = ['user', 'course', 'add_time']
xadmin.site.register(UserCourse, UserCourseAdmin)
organization/adminx.py
#!/usr/bin/env python
# coding=utf-8
import xadmin
from organization.models import CityDict, CourseOrg, Teacher
class CityDictAdmin(object):
list_display = ['name', 'desc', 'add_time']
search_fields = ['name', 'desc']
list_filter = ['name', 'desc', 'add_time']
xadmin.site.register(CityDict, CityDictAdmin)
class CourseOrgAdmin(object):
list_display = ['name', 'desc', 'click_nums',
'fav_nums', 'image', 'address', 'city', 'add_time']
search_fields = ['name', 'desc', 'click_nums',
'fav_nums', 'image', 'address', 'city']
list_filter = ['name', 'desc', 'click_nums',
'fav_nums', 'image', 'address', 'city', 'add_time']
xadmin.site.register(CourseOrg, CourseOrgAdmin)
class TeacherAdmin(object):
list_display = ['org', 'name', 'work_years', 'work_company',
'work_position', 'points', 'click_nums', 'fav_nums', 'add_time']
search_fields = ['org', 'name', 'work_years', 'work_company',
'work_position', 'points', 'click_nums', 'fav_nums']
list_filter = ['org', 'name', 'work_years', 'work_company',
'work_position', 'points', 'click_nums', 'fav_nums', 'add_time']
xadmin.site.register(Teacher, TeacherAdmin)
[py][mx]xadmin详细设置-将app注册到xadmin的更多相关文章
- 第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理
第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理 将一个app下的models数据库表注册到xadmin后台管理 重点 ...
- [py][mx]django添加后台课程机构页数据-图片上传设置
分析下课程页前台部分 机构类别-目前机构库中没有这个字段,需要追加下 所在地区 xadmin可以手动添加 课程机构 涉及到机构封面图, 即图片上传media设置, 也需要在xadmin里手动添加几条 ...
- django下的xadmin相关设置
后台设置中文在 settings.py LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = ...
- xadmin系列之启动、注册、分发
a.启动首先要加载settings中定义的INSTALLED_APPS列表中的app b.我们进入xadmin的XadminConfig文件 from django.apps import AppCo ...
- ios app: 使用企业license设置发布app的过程
ios开发者证书与企业证书的内容,关系,以及ios app 使用企业license设置发布app的过程 iOS是一个非常封闭的系统.授权文件(.mobileprovision)和签名证书文件(.c ...
- c# webConfig中的session超时详细设置
webConfig中的session超时详细设置 我们在webConfig中设置Session超时的时候,如果最后发行的地址是远程服务器,我们很多不是必须的属性并不用设置,如果设之后,倒不能让 ses ...
- Django框架(二)-- 基本配置:app注册、模板配置、静态文件配置、数据库连接配置post和get
一.app 在Django中,APP可以用以下类比 大学 --------------------项目 计算机学院------------app01 土木学院 ------------ app02 1 ...
- django下创建多个app,如何设置每个app的urls
1.创建第二个app 假设我们项目P下面已经有了一个默认的app,名字是app1.现在我想创建第二个app,名字时app2. 进入pychram下的Terminal中,运行命令: python man ...
- Django框架(二)—— 基本配置:app注册、模板配置、静态文件配置、数据库连接配置post和get
目录 app注册.模板配置.静态文件配置.数据库连接配置post和get 一.app 二.模板配置 三.静态文件配置 四.数据库连接配置 五.get请求和post请求 六.新手三件套 七.登录功能案例 ...
随机推荐
- Matlab——filter函数用法
filter:滤波函数,可用来解差分方程. y = filter(b,a,X) [y,zf] = filter(b,a,X) [y,zf] = filter(b,a,X,zi) y = filter( ...
- linux进程永久放后台运行
我们使用ssh连接服务器之后,如果在执行某个命令需要时间特别长,当把终端断掉之后,命令就自动停止了一般我们在ssh客户端执行命令之后,默认他的父进程是ssh,所以把ssh终端关掉之后,子进程也就被自动 ...
- 【Spring Boot&&Spring Cloud系列】使用Intellij构建Spring Boot和Mybatis项目
一.创建项目 1.File->New->Project->spring initializer 2.勾选Web SQL Template Engines 3.项目生成之后,点击add ...
- 【大数据系列】hadoop单机模式安装
一.添加用户和用户组 adduser hadoop 将hadoop用户添加进sudo用户组 sudo usermod -G sudo hadoop 或者 visudo 二.安装jdk 具体操作参考:c ...
- CacheDependency 的使用方法
//创建缓存依赖项 CacheDependency dep = new CacheDependency(fileName); //创建缓存 HttpContext.Current.Cache.Inse ...
- jQuery队列(一)
jQuery的队列依赖缓存机制事件,它同时是animate的基础. 它不像事件机制.缓存机制.回调机制一样有自己的命名空间,由于比较简单,所以直接挂在到$和jQuery对象上. 它提供的基础方法有: ...
- Android 屏幕适配:最全面的解决方案
转自:https://www.jianshu.com/p/ec5a1a30694b 前言 Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合: Google的官方权威适配文 ...
- javah 错误: 无法访问android.app.Activity问题解决
cd /Users/musictom/Documents/source/ky/app/build/intermediates/classes/debug javah -jni -classpath / ...
- Centos重新启动网络配置文件,/etc/resolv.conf被覆盖或清空问题解决
Centos在执行命令 yum update时报错如下: Could not get metalink https://mirrors.fedoraproject.org/metalink?repo= ...
- Redis学习笔记--Redis配置文件Sentinel.conf参数配置详解
redis-sentinel.conf配置项说明如下: 1.port 26379 sentinel监听端口,默认是26379,可以修改. 2.sentinel monitor <master-n ...