1、xadmin下载
在GitHub上面搜索“xadmin”或者点击xadmin将代码下载到本地,使用pip安装的xadmin不支持Django1.11,在项目中新建extra_apps文件夹存放引用的别人的三方库,将下载的xadmin文件中的xadmin拷贝到extra_apps中,并将extra_apps mark为源文件路径。
运行时会提示未安装支持库,需要使用pip在虚拟环境(解释器环境)中安装以下支持库,如果提示其他库则按照提示安装即可
1 2 3 4
| pip install django-crispy-forms pip install django-formtools pip install future pip install six
|
2、setting配置
添加extra_apps的路径
1
| sys.path.insert(0,os.path.join(BASE_DIR,'extra_apps'))
|
添加app
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'users', 'courses', 'organization', 'operation', 'xadmin',# 'crispy_forms',# ]
|
3、app中init.py,apps.py,adminx.py修改
adminx.py需要新建不是admin.py,
1.apps.py修改
1 2 3 4 5 6 7
| # -*- coding: utf-8 -*- from django.apps import AppConfig class UsersConfig(AppConfig): name = 'users' verbose_name = '用户'
|
2.init.py修改
1
| default_app_config = "users.apps.UsersConfig"
|
3.新建adminx.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| import xadmin from xadmin import views from .models import EmailVerifyRecord,Banner 下面标记的代码只需写一次即可表示页面的通用配置 ###标记开始位置 class BaseSetting(object): enable_themes = True use_bootswatch = True xadmin.site.register(views.BaseAdminView, BaseSetting) class GlobalSetting(object): site_title = '顶部的名称' site_footer = '底部的名称' menu_style = 'accordion' xadmin.site.register(views.CommAdminView, GlobalSetting) ###标记结束为止 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)
|
orginization的adminx.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| 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'] xadmin.site.register(CityDict, CityDictAdmin) class CourseOrgAdmin(object): list_display = ['name','desc', 'click_nums', 'fav_nums','image', 'address', 'city'] search_fields = ['name','desc', 'click_nums', 'fav_nums','image', 'address', 'city'] list_filter = ['name','desc', 'click_nums', 'fav_nums','image', 'address', 'city'] 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)
|
这里会发现没有写users中的UserProfile类,因为UserProfile是继承的系统的用户类
效果图:
