首先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的更多相关文章

  1. 第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理

    第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理 将一个app下的models数据库表注册到xadmin后台管理 重点 ...

  2. [py][mx]django添加后台课程机构页数据-图片上传设置

    分析下课程页前台部分 机构类别-目前机构库中没有这个字段,需要追加下 所在地区 xadmin可以手动添加 课程机构 涉及到机构封面图, 即图片上传media设置, 也需要在xadmin里手动添加几条 ...

  3. django下的xadmin相关设置

    后台设置中文在 settings.py LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = ...

  4. xadmin系列之启动、注册、分发

    a.启动首先要加载settings中定义的INSTALLED_APPS列表中的app b.我们进入xadmin的XadminConfig文件 from django.apps import AppCo ...

  5. ios app: 使用企业license设置发布app的过程

      ios开发者证书与企业证书的内容,关系,以及ios app 使用企业license设置发布app的过程 iOS是一个非常封闭的系统.授权文件(.mobileprovision)和签名证书文件(.c ...

  6. c# webConfig中的session超时详细设置

    webConfig中的session超时详细设置 我们在webConfig中设置Session超时的时候,如果最后发行的地址是远程服务器,我们很多不是必须的属性并不用设置,如果设之后,倒不能让 ses ...

  7. Django框架(二)-- 基本配置:app注册、模板配置、静态文件配置、数据库连接配置post和get

    一.app 在Django中,APP可以用以下类比 大学 --------------------项目 计算机学院------------app01 土木学院 ------------ app02 1 ...

  8. django下创建多个app,如何设置每个app的urls

    1.创建第二个app 假设我们项目P下面已经有了一个默认的app,名字是app1.现在我想创建第二个app,名字时app2. 进入pychram下的Terminal中,运行命令: python man ...

  9. Django框架(二)—— 基本配置:app注册、模板配置、静态文件配置、数据库连接配置post和get

    目录 app注册.模板配置.静态文件配置.数据库连接配置post和get 一.app 二.模板配置 三.静态文件配置 四.数据库连接配置 五.get请求和post请求 六.新手三件套 七.登录功能案例 ...

随机推荐

  1. EXCEL数据匹配:The 'Microsoft.Jet.Oledb.4.0' provider is not registered on the local machin

    百度的处理结果: 作者:LisenYang http://blog.csdn.net/lisenyang/article/details/52106492 这篇博文里面说的,默认设置修改[启动32应用 ...

  2. 【技术分享会】 @第四期 JQuery插件

    本讲内容 JavaScript JQuery JQuery插件 实例 JavaScript 前端开发工程师必须掌握的三种技能 描述内容的HTML 描述网页样式的CSS 描述网页行为的JavaScrip ...

  3. 脚本学习 game.sh

    #!/bin/bash #game_error.sh ]]; then #$#表示参数个数 -lt小于 echo "Usage: game_error.sh time[20170710]&q ...

  4. ipcs命令以及oracle内存段

    今天是2014-01-06,在没过春节之前重新复习一下2013年学习的内容,关于oracle内存段在我之前写的blog中有详细操作.在此记录一下ipcs命令的用法. http://blog.csdn. ...

  5. 今日Java——Cay Horstmann访谈

    这是本人在InfoQ中文站审校的文章,原文链接是:http://www.infoq.com/cn/articles/java_cay_horstmann,感觉内容很不错,分享给大家看看. 近日Info ...

  6. 重载i++,++i操作符

    #include <iostream> using namespace std; class Time { public: Time(){min=;sec=;} Time(int m,in ...

  7. 转载:C/C++关于string.h头文件和string类

    学习C语言时,用字符串的函数例如stpcpy().strcat().strcmp()等,要包含头文件string.h 学习C++后,C++有字符串的标准类string,string类也有很多方法,用s ...

  8. nose测试中修改nose_html_reporting插件,使生成的html报告加入显示截图功能

    使用nose框架在测试WEB UI自动化时,使用了第三方插件nose-html-reporting,来生成HTML报告,nose-html-reporting具体使用参见管网https://pypi. ...

  9. mysql 小于等于0 不包含null

    SELECT count(*) FROM test2 WHERE num<=1;

  10. [EF]vs15+ef6+mysql code first方式

    写在前面 前面有篇文章,尝试了db first方式,但不知道是什么原因一直没有成功,到最后也没解决,今天就尝试下code first的方式. [EF]vs15+ef6+mysql这个问题,你遇到过么? ...