通过xadmin快速搭建后台管理系统

2018-03-26  本文已影响0人  大乔是个美少女

https://blog.csdn.net/wwwdc1012/article/details/72814642

慕课网《强力django+杀手级xadmin 打造上线标准的在线教育平台》 学习笔记


本章主要内容:


django admin 的简单使用

这里写图片描述
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'     # 时区
USE_TZ = False      # 使用本地时间,而不是UTC时间

更加强大的xadmin

pip install xadmin
这里写图片描述
    'xadmin',
    'crispy_forms',
import xadmin
urlpatterns = [
    url(r'^xadmin/', xadmin.site.urls),
]
这里写图片描述

详细参考xadmin文档:https://xadmin.readthedocs.io/en/latest/quickstart.html

# -*- coding: utf-8 -*-
__author__ = 'bobby'
__date__ = '2016/10/25 21:07'

import xadmin
from xadmin import views
from xadmin.plugins.auth import UserAdmin
from xadmin.layout import Fieldset, Main, Side, Row
from django.utils.translation import ugettext as _

from .models import EmailVerifyRecord, Banner, UserProfile

class UserProfileAdmin(UserAdmin):
    def get_form_layout(self):
        if self.org_obj:
            self.form_layout = (
                Main(
                    Fieldset('',
                             'username', 'password',
                             css_class='unsort no_title'
                             ),
                    Fieldset(_('Personal info'),
                             Row('first_name', 'last_name'),
                             'email'
                             ),
                    Fieldset(_('Permissions'),
                             'groups', 'user_permissions'
                             ),
                    Fieldset(_('Important dates'),
                             'last_login', 'date_joined'
                             ),
                ),
                Side(
                    Fieldset(_('Status'),
                             'is_active', 'is_staff', 'is_superuser',
                             ),
                )
            )
        return super(UserAdmin, self).get_form_layout()

class BaseSetting(object):
    enable_themes = True
    use_bootswatch = True

class GlobalSettings(object):
    site_title = "慕学后台管理系统"
    site_footer = "慕学在线网"
    # menu_style = "accordion"

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']
    model_icon = 'fa fa-address-book-o'

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

# from django.contrib.auth.models import User
# xadmin.site.unregister(User)
xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)
xadmin.site.register(Banner, BannerAdmin)
# xadmin.site.register(UserProfile, UserProfileAdmin)

xadmin.site.register(views.BaseAdminView, BaseSetting)
xadmin.site.register(views.CommAdminView, GlobalSettings)

这里写图片描述

xadmin的全局配置

from xadmin import views

# 基本的修改
class BaseSetting(object):
    enable_themes = True   # 打开主题功能
    use_bootswatch = True  # 

# 针对全局的
class GlobalSettings(object):
    site_title = "慕学后台管理系统"  # 系统名称
    site_footer = "慕学在线网"      # 底部版权栏
    # menu_style = "accordion"     # 将菜单栏收起来

# 注册,注意一个是BaseAdminView,一个是CommAdminView
xadmin.site.register(views.BaseAdminView, BaseSetting)
xadmin.site.register(views.CommAdminView, GlobalSettings)
这里写图片描述
上一篇 下一篇

猜你喜欢

热点阅读