在之前我们已经把项目所需的基本配置,已配置,接下来是此项目的重点配置(xadmin),我们将用xadmin,实现快速搭建后台管理系统

首先是xadmin的安装,github下载
xadmin下载链接地址
在进入这链接后,找到此项目的xadmin,给他下载下来,CV到自己的项目中

在此如图,图中有些是咱们还没提到的目录,但不妨碍,你可以提前新建起来

接下来是xadmin的设置,进入settings文件
注册app,把下面两个app注册到settings.py的INSTALLED_APPS中

'xadmin',
'crispy_forms'

配置路由,进入urls文件

import xadminurlpatterns = [path('xadmin/', xadmin.site.urls),
]

迁移数据库

makemigrationsmigrate

创建一个管理员用户(tool—>manage.py)

createsuperuser

最后运行项目,在浏览器查看效果(访问后台:http://127.0.0.1:8888/xadmin)

开始配置xadmin后台管理系统
首先给各个app,进行后台models注册,在每个app下新建一个adminx.py

# users/adminx.pyimport xadmin
from xadmin import views
from .models import EmailVerifyRecord, Banner# 创建xadmin的最基本管理器配置,并与view绑定
class BaseSetting(object):# 开启主题功能enable_themes = Trueuse_bootswatch = True# 全局修改,固定写法
class GlobalSettings(object):# 修改titlesite_title = '慕学后台管理界面'# 修改footersite_footer = 'BLACK的公司'# 收起菜单menu_style = 'accordion'# xadmin中这里是继承object,不再是继承admin
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']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(EmailVerifyRecord, EmailVerifyRecordAdmin)
xadmin.site.register(Banner, BannerAdmin)# 将基本配置管理与view绑定
xadmin.site.register(views.BaseAdminView, BaseSetting)# 将title和footer信息进行注册
xadmin.site.register(views.CommAdminView,GlobalSettings)
# organization/adminx.pyimport xadminfrom .models import CityDict, CourseOrg, Teacherclass 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','add_time' ]search_fields = ['name', 'desc', 'click_nums', 'fav_nums']list_filter = ['name', 'desc', 'click_nums', 'fav_nums','city__name','address','add_time']class TeacherAdmin(object):'''老师'''list_display = [ 'name','org', 'work_years', 'work_company','add_time']search_fields = ['org', 'name', 'work_years', 'work_company']list_filter = ['org__name', 'name', 'work_years', 'work_company','click_nums', 'fav_nums', 'add_time']xadmin.site.register(CityDict, CityDictAdmin)
xadmin.site.register(CourseOrg, CourseOrgAdmin)
xadmin.site.register(Teacher, TeacherAdmin)
# operation/adminx.pyimport xadminfrom .models import UserAsk, UserCourse, UserMessage, CourseComments, UserFavoriteclass 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 UserCourseAdmin(object):'''用户课程学习'''list_display = ['user', 'course', 'add_time']search_fields = ['user', 'course']list_filter = ['user', 'course', 'add_time']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']class CourseCommentsAdmin(object):'''用户评论后台'''list_display = ['user', 'course', 'comments', 'add_time']search_fields = ['user', 'course', 'comments']list_filter = ['user', 'course', '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', 'fav_id', 'fav_type', 'add_time']# 将后台管理器与models进行关联注册。
xadmin.site.register(UserAsk, UserAskAdmin)
xadmin.site.register(UserCourse, UserCourseAdmin)
xadmin.site.register(UserMessage, UserMessageAdmin)
xadmin.site.register(CourseComments, CourseCommentsAdmin)
xadmin.site.register(UserFavorite, UserFavoriteAdmin)
# course/adminx.pyimport xadminfrom .models import Course, Lesson, Video, CourseResource# Course的admin管理器
class CourseAdmin(object):'''课程'''list_display = [ 'name','desc','detail','degree','learn_times','students']search_fields = ['name', 'desc', 'detail', 'degree', 'students']list_filter = [ 'name','desc','detail','degree','learn_times','students']class LessonAdmin(object):'''章节'''list_display = ['course', 'name', 'add_time']search_fields = ['course', 'name']#这里course__name是根据课程名称过滤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', 'download', 'add_time']# 将管理器与model进行注册关联
xadmin.site.register(Course, CourseAdmin)
xadmin.site.register(Lesson, LessonAdmin)
xadmin.site.register(Video, VideoAdmin)
xadmin.site.register(CourseResource, CourseResourceAdmin)

运行项目,查看效果

django+xadmin 在线教育网站(二)相关推荐

  1. django+xadmin 在线教育网站(三)

    在此之前我们已成功的使用xadmin将后台管理系统搭建起来了,接下来,开始我们后台的功能处理 首先是登录功能 登录功能 (1)把html文件中index.html和login.html拷贝到templ ...

  2. django+xadmin在线教育平台慕学网(二)

    三.xadmin后台管理 3.1 .xadmin的安装 github下在xadmin源码:下载地址 下载完成之后,解压复制xadmin文件夹 3.2.xadmin配置 (1)新建python pack ...

  3. django+xadmin在线教育平台(十二)

    6-4 用form实现登录-1 上面我们的用户登录的方法是基于函数来做的.本节我们做一个基于类方法的版本. 要求对类的继承有了解. 基础教程中基本上都是基于函数来做的,其实更推荐基于类来做.基于类可以 ...

  4. 强力Django+杀手级xadmin全新开发在线教育网站

    强力Django+杀手级xadmin全新开发在线教育网站

  5. 在线教育网站如何更好的实现视频安全视频保护?

    在线教育网站的视频安全与视频文件加密要如何做?国内在线教育越来越火,但很多在线教育网站都面监一个大问题,收费课程被下载传播,有的甚至被拿到某宝上几块钱出售. 那么在线教育网站应该如何做,才可以更好的保 ...

  6. 如何利用教育网站源码成功搭建在线教育网站

    如今是一个信息化时代,人们都想接受各种各样的教育,在线教育也就因此发展了起来,并且逐渐成为了一种趋势.而成熟的在线教育网站皆是由高质量的教育网站源码搭建而成的.如何利用教育网站源码成功搭建在线教育网站 ...

  7. 教育网站源码搭建的在线教育网站,不同类型各有什么优缺点

    在线教育网站搭建已经成为机构争相进军线上的目标,在教育领域中,利用教育网站源码搭建的在线教育网站都有哪些类型,各有什么亮点以及不足之处呢? 一.B2C服务型 B2C服务型是指自主制造高质量内容,类似电 ...

  8. 10多个LearnDash示例和演示:从这些在线教育网站获得灵感!

    正在寻找真实的LearnDash示例来激发您自己的电子学习网站的灵感? LearnDash 是最受欢迎的 WordPress LMS 插件之一,约翰霍普金斯大学和 Collibra 等大型组织以及 Y ...

  9. 只需几次点击即可创建一个Astra和LearnDash在线教育网站 – 简单快捷!

    Astra为不喜欢从头开始设计网站的任何人提供了一个巨大的入门模板库. 这些网站是使用各种页面构建器制作的,例如 Elementor.Beaver Builder.Brizy 以及 Gutenberg ...

最新文章

  1. 《机器人与数字人:基于MATLAB的建模与控制》——2.3节指数映射和k过程
  2. Modelarts与无感识别技术生态总结(浅出版)
  3. mysql所支持的比较运算符_MySQL比较运算符一览表(带解析)
  4. 【算法】剑指 Offer 59 - I. 滑动窗口的最大值
  5. postgreSQL源码分析——索引的建立与使用——B-Tree索引(3)
  6. 有关正则的知识点梳理
  7. Java执行jar总结
  8. 排序趟[置顶] Java和C实现的冒泡排序(基本思想)
  9. 【翻译】Siesta事件记录器入门
  10. 模拟测试数据的生成方法
  11. C++ 打表法计算农历错误数据处理
  12. linux系统中文件不同颜色的含义
  13. ndo入mysql的一些优化
  14. Ubuntu Linux红色警戒Read Alert官方开源版OpenRA安装笔记
  15. 重力加速度传感器角度输出
  16. 阿里云服务器购买流程
  17. C++自学教程第一课——你好世界,我是柠檬鲸。
  18. win11下安装Cuda和Cudnn,保姆及教程!!!
  19. 一些名企秋招网申链接合集
  20. 瑞典沃尔沃轿车公司再次召回

热门文章

  1. 居然在循环时犯了大错,难怪差这么多
  2. 毛毛最新推荐伤感日志:我是一个任性的孩子
  3. 用函数编程计算反馈意见的平均数(Mean)、中位数(Median)和众数(Mode)
  4. 分布式存储实现的方式有哪些?iSCSI和NBD的区别
  5. 未雨绸缪——请养成良好的数据使用习惯
  6. 金蝶eas服务器文件更新端口,金蝶eas更换服务器地址
  7. python判断红绿灯
  8. 【愚公系列】回顾2022年技术博客的总结与展望
  9. jdk,环境容量等解释
  10. 关于天地图的瓦片下载