首页 > 其他分享 >基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(14)——各个App的adminx.py的设置

基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(14)——各个App的adminx.py的设置

时间:2023-06-06 20:02:10浏览次数:56  
标签:xadmin 14 App list course add time name


users App:

import xadmin

from .models import EmailVerifyRecord, Banner, UserProfile


class UserProfileAdmin(object):
    pass


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'] #通过时间搜索
    # list_display = ('code',)


class BannerAdmin(object):
    list_display = ['title', 'image', 'url', 'index', 'add_time'] #后台自定义显示列 显示字段
    search_fields = ['title', 'image', 'url', 'index'] #定义后台搜索 搜索功能
    list_filter = ['title', 'image', 'url', 'index', 'add_time'] #过滤器 通过时间搜索

xadmin.site.register(UserProfile, UserProfileAdmin)
xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)
xadmin.site.register(Banner, BannerAdmin)

organization App:

# -*- coding:utf-8 -*-
import xadmin

from .models import CityDict, CourseOrg, Teacher


class CityDictAdmin(object):
    list_display = ['name', 'desc', 'add_time']
    search_fields = ['name', 'desc']
    list_filter = ['name', 'desc', 'add_time']


class CourseOrgAdmin(object):
    list_display = ['name', 'desc', 'click_nums', 'fav_nums']
    search_fields = ['name', 'desc', 'click_nums', 'fav_nums']
    list_filter = ['name', 'desc', 'click_nums', 'fav_nums']


class TeacherAdmin(object):
    list_display = ['org', 'name', 'work_years', 'work_company']
    search_fields = ['org', 'name', 'work_years', 'work_company']
    list_filter = ['org', 'name', 'work_years', 'work_company']


xadmin.site.register(CityDict, CityDictAdmin)
xadmin.site.register(CourseOrg, CourseOrgAdmin)
xadmin.site.register(Teacher, TeacherAdmin)

operation App:

# -*- coding:utf-8 -*-
from .models import UserAsk, CourseComments, UserFavorite, UserMessage, UserCourse
import xadmin


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']


class CourseCommentsAdmin(object):
    list_display = ['user', 'course', 'comments', 'add_time']
    search_fields = ['user', 'course', 'comments']
    list_filter = ['user__nick_name', 'course__name', 'comments', 'add_time']


# 用户收藏
class UserFavoriteAdmin(object):
    list_display = ['user', 'fav_id', 'fav_type', 'add_time']
    search_fields = ['user', 'fav_id', 'fav_type']
    list_filter = ['user__nick_name', 'fav_id', 'fav_type', 'add_time']


# 用户消息
class UserMessageAdmin(object):
    list_display = ['user', 'message', 'has_read', 'add_time']
    search_fields = ['user', 'message', 'has_read']
    # 这里的 user 不是 ForeignKey ,具体请看 models.py
    list_filter = ['user', 'message', 'has_read', 'add_time']


class UserCourseAdmin(object):
    list_display = ['user', 'course', 'add_time']
    search_fields = ['user', 'course']
    list_filter = ['user__nick_name', 'course__name', 'add_time']


xadmin.site.register(UserAsk, UserAskAdmin)
xadmin.site.register(CourseComments, CourseCommentsAdmin)
xadmin.site.register(UserFavorite, UserFavoriteAdmin)
xadmin.site.register(UserMessage, UserMessageAdmin)
xadmin.site.register(UserCourse, UserCourseAdmin)

courses App:

# -*- coding:utf-8 -*-
from .models import Course, Lesson, Video, CourseResource
import xadmin


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']


class LessonAdmin(object):
    list_display = ['course', 'name', 'add_time']
    search_fields = ['course', 'name']
    # course 是一个对象,xadmin 不能搜索,需要指定搜索 course 对象里哪一个属性
    list_filter = ['course__name', 'name', 'add_time']


class VideoAdmin(object):
    list_display = ['lesson', 'name', 'add_time']
    search_fields = ['lesson', 'name']
    list_filter = ['lesson', 'name', 'add_time']


class CourseResourceAdmin(object):
    list_display = ['course', 'name', 'download', 'add_time']
    search_fields = ['course', 'name', 'download']
    list_filter = ['course__name', 'name', 'add_time']


xadmin.site.register(Course, CourseAdmin)
xadmin.site.register(Lesson, LessonAdmin)
xadmin.site.register(Video, VideoAdmin)
xadmin.site.register(CourseResource, CourseResourceAdmin)

效果如下:

基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(14)——各个App的adminx.py的设置_django


标签:xadmin,14,App,list,course,add,time,name
From: https://blog.51cto.com/u_16152603/6427441

相关文章

  • 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(15)——xadmi
    应该是use_bootswacth首页多了一个主题设置按钮:可以选择不同的主题:importxadminfromxadminimportviewsfrom.modelsimportEmailVerifyRecord,Banner,UserProfileclassBaseSetting(object):enable_themes=Trueuse_bootswatch=TrueclassGlobalSet......
  • 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(13)——xadmi
    xadmin的安装方法settings.py的配置#-*-coding:utf-8-*-importosimportsysimportpymysqlpymysql.install_as_MySQLdb()#Buildpathsinsidetheprojectlikethis:os.path.join(BASE_DIR,...)BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__fil......
  • 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(16)——首页
    index.html<!DOCTYPEhtml><html><head><metacharset="UTF-8"><metaname="renderer"content="webkit"><metahttp-equiv="X-UA-Compatible"content="IE=Edge,chrome=1&......
  • mysql数据库自动删除app用户数据库脚本
    该脚本为数据库自动删除脚本,db_list.tex为存放想要删除的数据库列表,需手动配置要好该列表。该脚本对mysql数据库本身重要数据库自动判断保护。#!/bin/bash#2012-12-25bycocoforiin`cat./db_list.txt`doif["$i"=="mysql"]||["$i"=="information_schema"]||[......
  • uniapp使用uview组件的indexList写选择城市
    <template><viewclass=""><viewclass="top"><viewclass="search-boxmt10flexalcenter"><viewclass="search-input"><u-search:showAction=&q......
  • Codeforces 1495F - Squares
    不知道怎么放到div1F的,感觉没啥亮点。首先对于一条\(1\)到\(n+1\)的路径而言,它经过的点的编号一定是递增的,也就是说,如果我们将关键点大小排个序,那么答案就是相邻两点间最短路的和。删/加点造成的变化是\(O(1)\)的,所以问题等价于,多次询问这张图中\(x,y\)之间最短路的......
  • 如何选择一家靠谱的广州APP开发公司?广州APP开发公司推荐!
    在这个移动应用市场竞争激烈的时代,选择一家靠谱的广州APP开发公司是实现成功的关键一步。但是广州APP开发公司那么多,如何选择一家靠谱的广州APP开发公司?广州名锐讯动总结了一些建议,帮助您一家能够满足您需求的广州APP开发公司!文章最后还有小编的强烈推荐的广州APP开发公司!1. 评估......
  • 3500/42M 140734-02本特利监测模块应用于石油等
    3500/42M140734-02本特利监测模块应用于石油等 什么是紧急停机系统(ESD)?EmergencyShutdown是由于供电设施故障或工厂重要部件故障(如泵进料故障、反应物供应故障或熔炉故障等)而导致的紧急停机。紧急停机系统是一种停止过程操作并隔离输入连接或电流以快速降低意外事件发......
  • AI 协助办公 |记一次用 GPT-4 写一个消息同步 App
    GPT-4最近风头正劲,作为NebulaGraph的研发人员的我自然是跟进新技术步伐。恰好,现在有一个将Slackchannel消息同步到其他IM的需求,看看GPT-4能不能帮我完成这次的信息同步工具的代码编写工作。本文记录了我同GPT主要的交互过程,中间删减了部分非主线对话。在开始同GPT......
  • Python Django Xadmin 的使用
    笔者Python版本为3.10.6,Django版本为4.2.2本项目代码已开源,可到GitHub仓库中查看本项目用到的xadmin、DjangoUeditor文件夹笔者已经按照Python3.10版本进行了修改,点击链接即可下载。但如果你使用的Python版本较低,可能会因此出现一些BUG,请到问题汇总查看,如果......