美文网首页
Python3.6.x 中xadmin的安装和简单使用

Python3.6.x 中xadmin的安装和简单使用

作者: 阿敏其人 | 来源:发表于2018-12-12 22:08 被阅读187次

一、xadmin

官网:http://sshwsfc.github.io/xadmin/

image.png

基于Bootstrap3,支持响应式的牛逼后台管理系统,更加符合国人习惯。

二、当前环境

mac+pycharm
python3.6.5
django1.9

三、xadmin在python2.x时代的安装方法

在python2.x时代,安装xadmin是通过如下命令

pip install xadmin 

四、xadmin在python3.6.x时代的安装方法

分为在线安装和本地安装

在线安装

在线安装

pip install git+git://github.com/sshwsfc/xadmin.git

但是这种安装方式 ,大多数人会遇到问题。

本地安装 (推荐)

s1、下载xadmin

下载地址:
https://github.com/sshwsfc/xadmin

s2、解压缩,得到xadmin文件夹,复制到项目的extra_apps

解压缩,得到xadmin文件夹


xadmin

在django中的根目录下创建Python Package,命名为extra_apps(如果不存在此文件夹则创建)
(Python Package是带init文件的,跟普通Package不同)

创建完extra_apps,需要在settings中配置一下extra_apps。设置为可搜索的路径。

import os
import sys

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps')) # 把extra_apps文件夹添加到搜索目录中

把xadmin文件夹复制到extra_apps。

image.png

s3、配置xadmin

配置到 INSTALLED_APPS

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'xadmin',
    'crispy_forms', # 注意crispy_forms之间是下划线隔开,不是横线

]

修改urls.py的admin

把原来的admin修改为xadmin

import xadmin
from django.conf.urls import url
from django.contrib import admin


urlpatterns = [
    # url('admin/', admin.site.urls),
    url(r'^xadmin/', xadmin.site.urls),
]

s4、迁移

迁移文件

生成迁移

python3 manage.py makemigrations

执行迁移

python3 manage.py migrate

迁移完成后,我们看到数据库多了几张表


image.png

至此完成。
(如果报错,请先把原先旧的app里面admin.py里面的注册代码去掉,再试试)

运行一下项目,访问

http://127.0.0.1:8000/xadmin/

即可,记得不要习惯性输入成http://127.0.0.1:8000/admin/。一字之差。

效果预览


image.png

五、如何把model注册到xadmin

在对应的app里面,新建adminx.py

注册代码

import xadmin
from .models import EmailVerifyRecord

# 注册UserProfile 进后台admin
# class UserProfileAdmin(admin.ModelAdmin):
#     pass
#
# admin.site.register(UserProfile,UserProfileAdmin)

# xadmin 注册UserProfile 进后台xadmin



class EmailVerifyRecordAdmin(object): # xadmin里的类是继承自object,而传统的admin是继承自 admin.ModelAdmin
    pass
xadmin.site.register(EmailVerifyRecord,EmailVerifyRecordAdmin) # 注意是 xadmin.site ,多了个x

效果


image.png

本文完。

相关文章

网友评论

      本文标题:Python3.6.x 中xadmin的安装和简单使用

      本文链接:https://www.haomeiwen.com/subject/ijkmhqtx.html