django+xadmin 在线教育网站(二)
在之前我们已经把项目所需的基本配置,已配置,接下来是此项目的重点配置(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 在线教育网站(二)相关推荐
- django+xadmin 在线教育网站(三)
在此之前我们已成功的使用xadmin将后台管理系统搭建起来了,接下来,开始我们后台的功能处理 首先是登录功能 登录功能 (1)把html文件中index.html和login.html拷贝到templ ...
- django+xadmin在线教育平台慕学网(二)
三.xadmin后台管理 3.1 .xadmin的安装 github下在xadmin源码:下载地址 下载完成之后,解压复制xadmin文件夹 3.2.xadmin配置 (1)新建python pack ...
- django+xadmin在线教育平台(十二)
6-4 用form实现登录-1 上面我们的用户登录的方法是基于函数来做的.本节我们做一个基于类方法的版本. 要求对类的继承有了解. 基础教程中基本上都是基于函数来做的,其实更推荐基于类来做.基于类可以 ...
- 强力Django+杀手级xadmin全新开发在线教育网站
强力Django+杀手级xadmin全新开发在线教育网站
- 在线教育网站如何更好的实现视频安全视频保护?
在线教育网站的视频安全与视频文件加密要如何做?国内在线教育越来越火,但很多在线教育网站都面监一个大问题,收费课程被下载传播,有的甚至被拿到某宝上几块钱出售. 那么在线教育网站应该如何做,才可以更好的保 ...
- 如何利用教育网站源码成功搭建在线教育网站
如今是一个信息化时代,人们都想接受各种各样的教育,在线教育也就因此发展了起来,并且逐渐成为了一种趋势.而成熟的在线教育网站皆是由高质量的教育网站源码搭建而成的.如何利用教育网站源码成功搭建在线教育网站 ...
- 教育网站源码搭建的在线教育网站,不同类型各有什么优缺点
在线教育网站搭建已经成为机构争相进军线上的目标,在教育领域中,利用教育网站源码搭建的在线教育网站都有哪些类型,各有什么亮点以及不足之处呢? 一.B2C服务型 B2C服务型是指自主制造高质量内容,类似电 ...
- 10多个LearnDash示例和演示:从这些在线教育网站获得灵感!
正在寻找真实的LearnDash示例来激发您自己的电子学习网站的灵感? LearnDash 是最受欢迎的 WordPress LMS 插件之一,约翰霍普金斯大学和 Collibra 等大型组织以及 Y ...
- 只需几次点击即可创建一个Astra和LearnDash在线教育网站 – 简单快捷!
Astra为不喜欢从头开始设计网站的任何人提供了一个巨大的入门模板库. 这些网站是使用各种页面构建器制作的,例如 Elementor.Beaver Builder.Brizy 以及 Gutenberg ...
最新文章
- 《机器人与数字人:基于MATLAB的建模与控制》——2.3节指数映射和k过程
- Modelarts与无感识别技术生态总结(浅出版)
- mysql所支持的比较运算符_MySQL比较运算符一览表(带解析)
- 【算法】剑指 Offer 59 - I. 滑动窗口的最大值
- postgreSQL源码分析——索引的建立与使用——B-Tree索引(3)
- 有关正则的知识点梳理
- Java执行jar总结
- 排序趟[置顶] Java和C实现的冒泡排序(基本思想)
- 【翻译】Siesta事件记录器入门
- 模拟测试数据的生成方法
- C++ 打表法计算农历错误数据处理
- linux系统中文件不同颜色的含义
- ndo入mysql的一些优化
- Ubuntu Linux红色警戒Read Alert官方开源版OpenRA安装笔记
- 重力加速度传感器角度输出
- 阿里云服务器购买流程
- C++自学教程第一课——你好世界,我是柠檬鲸。
- win11下安装Cuda和Cudnn,保姆及教程!!!
- 一些名企秋招网申链接合集
- 瑞典沃尔沃轿车公司再次召回