目前看来,django后台管理还是选取 django-xadmin
比较合适。功能丰富、扩展性也不错。
环境
python2.7(重要)- django==1.9.8
- django-xadmin
安装方式
虽然 django-xadmin
可以使用 pip install xadmin
来安装,但是还是推荐使用 github 上的源码,功能丰富。git clone 下来的目录中,将目录下的 xadmin
复制进入 django
项目中,(比如项目下的 extra_apps
这种目录)。
在项目的 settings.py
中加入
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'xadmin',
'crispy_forms',
]
注意:如果使用时候报错,提示缺少module,按照提示使用
pip
命令安装即可。
使用
首先在全局的 urls.y
文件中,加入如下:
from django.conf.urls import include
import xadmin
urlpatterns = [
# url(r'^admin/', admin.site.urls),
url(r'^xadmin/', xadmin.site.urls),
]
注册 Model
假设在 django
项目中建立了一个名为 example
的App,那么需要在 example
目录下建立一个 adminx.py
文件, 内容如下:
import xadmin
from .models import Example
class ExampleAdmin(object):
# 在后台中显示的字段
list_display = ('field1', 'field2', ......)
# 给字段加上搜索功能
search_fields = ('field1', 'field2', ......)
# 给字段加上过滤显示
list_filter = ('field1', 'field2', ......)
xadmin.site.register(Example, ExampleAdmin)
xadmin 全局配置
在 django
app下的adminx.py中加入以下内容:
import xadmin
from xadmin.views import BaseAdminView, CommAdminView
class GlobalSetting(object):
# 给xadmin后台加上一个站名
site_title = '<site title>'
# 给xadmin后台footer部分加一个名称
site_footer = '<site footer>'
# 让xadmin后台的各种菜单可折叠
menu_style = 'accordion'
class BaseSetting(object):
# 打开主题
enable_themes = True
# 启用更多主题选项
use_bootswatch = True
xadmin.site.register(CommAdminView, GlobalSetting)
xadmin.site.register(BaseAdminView, BaseSetting)
xadmin 其他设置
在 xadmin 后台管理中,YourApp 名称都是英文的,如果需要显示中文名称,需要在 yourapp/apps.py 中加入如下:
# coding: utf-8
from __future__ import unicode_literals
from django.apps import AppConfig
class YourAppConfig(AppConfig):
name = 'yourapps'
verbose_name = u'你的应用名'
然后在 app/__init__.py
中加入如下内容:
default_app_config = "yourapps.apps.YourAppConfig"
然后重启django
网友评论