admin是基于Django開發的后臺管理框架,方便,快捷,而且簡單;
而xadmin就相當于admin的升級版,更加強大。
1、安裝xadmin(源碼安裝方式) 教程
PS:
- 卸載pip安裝的xadminpip uninstall xadmin
- 過教程途中,看自身情況可能還需要自行下載其他的依賴庫,如下:
pip install django-formtools
pip install httplib2
pip install django-crispy-forms
不得不說,這一步還是有點麻煩的,因為我竟然又在這里卡了一個下午。。。。救命
成功之后,你是可以看到這么一個后臺管理界面的:
2、users下的models注冊(admin.py):
# Register your models here.
import xadminfrom .models import EmailVerifyRecord
from .models import Banner# 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']xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)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(Banner, BannerAdmin)
3、其他三個App的model注冊:
# 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)
# 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)
運行后進后臺,如下圖:
美滋滋,又到中秋節了!!!各位節日快樂啊~~~
溜了溜了~~~啦啦啦啦
未完待續~~~