[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请求 六.新手三件套 七.登录功能案例 ...
随机推荐
- 随心所欲玩复制 详解robocopy
说实话,Windows系统自带的复制功能不仅功能简单,而且定制性也不强,每每在对大量文件进行复制.移动.备份时,总少不了繁杂往复的操作.不过幸好,微软意识到了这一点,为我们提供了一款很强力的复制备份工 ...
- IOS多线程之序
版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们开发的应用基本上都是多线程的,几乎没有不是多线程的应用发布在appstore.首先我们的应用启动会默认有一个主线程,你一直在里面执行很多操作 ...
- find中的-print0和xargs中-0的奥妙
原文地址:find中的-print0和xargs中-0的奥妙作者:改变自己 默认情况下, find 每输出一个文件名, 后面都会接着输出一个换行符 ('n'), 因此我们看到的 find 的输出都是一 ...
- Python pyQt4/PyQt5 学习笔记3(绝对对位,盒布局,网格布局)
本节研究布局管理的内容. (一)绝对对位 import sys from PyQt4 import QtGui class Example(QtGui.QWidget): def __init__( ...
- EGL 1.0 学习笔记
http://hi.baidu.com/leo_xxx/item/b01b1fc29abff355ac00ef5c 基本概念 EGL是OpenGL ES与本地Window系统之间的桥梁.EGL创建渲染 ...
- guzzle http异步 post
use GuzzleHttp\Pool;use GuzzleHttp\Client;//use GuzzleHttp\Psr7\Request;use Psr\Http\Message\Respons ...
- C# 输出带颜色文字,用于实时日志输出
private void button1_Click(object sender, EventArgs e) { LogMessage("绿色"); 4 LogError(&quo ...
- [Sdoi2016]平凡的骰子
描述 这是一枚平凡的骰子.它是一个均质凸多面体,表面有n个端点,有f个面,每一面是一个凸多边形,且任意两面不共面.将这枚骰子抛向空中,骰子落地的时候不会发生二次弹跳(这是一种非常理想的情况).你希望知 ...
- 使用zsh 替换 bash
摘自:http://macshuo.com/?p=676#wechat_redirect Shell是Linux/Unix的一个外壳,你理解成衣服也行.它负责外界与Linux内核的交互,接收用户或其他 ...
- 更新jenkins插件,报错 Perhaps you need to run your container with "-Djava.awt.headless=true"?
Configuring the Java environment variables vi ~/.bash_profile 在最后一行加入: export JAVA_OPTS=-Djava.awt.h ...