有比Django更加强大的admin?
xadmin?
pip install xadmin
如何让xadmin生效?
- 新增两个注册app,xadmin,crispy_forms,通过run manage.py task 工具对这两个app进行初始化表
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', # django创建的时候,会默认开启cookie 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'users', # xadmin需要新增的两个app,建议crispy_forms写在xamin前面,减少莫名错误 'crispy_forms', 'xadmin', ]
- 导入xadmin,把url指向xadmin.site.url
import xadmin urlpatterns = [ url(r'^xadmin/', xadmin.site.urls), ]
- 每个app都新建adminx.py文件,导入models中类,建立每个xadmin的admin类,并注册其表和一些xadmin全局设置
import xadmin from .models import EmailVerifyRecord # 定义每个models类的admin class EmailVerifyRecordAdmin(object): pass # 注册设置 # 注册表,用户邮箱验证码表,前面是models表类,后面是自定义的admin类 xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)
- 重启Django,访问
http://127.0.0.1:8000/xadmin
如何通过源码安装,为什么要通过源码安装?
- 可以定制自己想要的功能和接收到最新版本的xadmin
- 在Githup上搜索xadmin,下载下来,到项目目录下新建extra_apps目录并把xadmin文件夹拷贝到这个目录下
https://github.com/sshwsfc/xadmin
- 卸载掉pip安装的xamdin,通过前面的安装xadmin为其安装第三方依赖包,现在卸载只是单独卸载pip安装的xadmin
pip uninstall xadmin
- 在setting中把extra_apps目录添加到python环境变量
# 把xadmin加入到python环境变量 sys.path.append(os.path.join(BASE_DIR, 'extra_apps'))
xadmin Githup地址:https://github.com/sshwsfc/xadmin