Xadmin介绍

直接替换掉Django自带的admin系统,并提供了很多有用的东西;完全的可扩展的插件支持,基于Twitter Bootstrap的漂亮UI。

  • 完全替代Django admin
  • 支持基于Twitter Bootstrap的UI主题
  • 支持可扩展的插件
  • 更好的过滤器,日期范围,数量范围等
  • 内置xls,csv,xml和json格式数据导出
  • 仪表板页面和小部件支持 (暂时用不到)
  • 现场书签
  • 完整的CURD方法(增删改查)

Xadmin安装

xadmin下载: https://github.com/sshwsfc/xadmin/tree/django2(记得要直接下载zip)

源码集成:github下载源码(一定要下载django2的文件名为:xadmin-django2.zip,解压后里面有个xadmin就是我们需要的xadmin源码了)

项目的根目录创建一个文件夹为:extra_apps,将下载的好xadmin源码拷贝到extra_apps目录中如下:

通过pycharm 选中extra_apps文件夹点击鼠标右键选中菜单mark directory as 选择 sources root就可以变成上面的蓝色文件夹目录就可以了。

安装依赖项:

#pip install git+git://github.com/sshwsfc/xadmin.git@django2

依赖项:
django-crispy-forms
django-import-export
django-reversion
django-formtools
future
httplib2
six

Xadmin配置

settings.py配置

# 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,'extra_apps'))
sys.path.insert(0,os.path.join(BASE_DIR,'polls')) INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
……
'polls', #应用app
'xadmin',
'crispy_forms',
'reversion',
]

urls.py配置

from django.contrib import admin
from django.urls import include, path
import xadmin urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
path('xadmin/',xadmin.site.urls),
]

setting.py设置成中文

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True

USE_L10N = True

USE_TZ = False

bug修改

TypeError at /xadmin/xadmin/userwidget/add/ render() got an unexpected keyword argument 'renderer'错误

修改项目中xadmin/views/dashborad.py中的render(),在render()中添加参数:renderer=None,即可解决。

运行项目

先执行python manage.py makemigrations 然后执行python manage.py migrate 生成数据库

执行 python manage.py runserver (如果缺少库的话自行安装相应的库就可以了),

当访问后台的时候可以看到如下效果说明成功了

中文板式:

创建管理员

python manage.py createsuperuser

Django admin修改用户密码

python manage.py shell  

from django.contrib.auth.models import User #引入管理员密码存放的数据库

user=User.objects.filter() #查找该数据库里有哪些用户

user 

输出user 可以看到用户名,我这里只有一个admin

[<User: admin>]     

重置密码,

user = User.objects.get(username='admin') #获取名称为admin的用户

user.set_password('') #设置密码

user.save()  # 保存user对象

Django admin修改注册表信息

xadmin后台如果要对表的内容增删改查,跟之前的admin.py文件里面写注册表信息一样,需在admin.py同一级目录新建一个adminx.py的文件。
然后在adminx.py文件控制页面上需显示的内容。

Models模块

from django.utils import timezone
import datetime class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published') def __str__(self):
return self.question_text def was_published_recently(self):
now = timezone.now()
return now - datetime.timedelta(days=1) <= self.pub_date <= now class Choice(models.Model):
question = models.ForeignKey(Question,on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0) def __str__(self):
return self.choice_text

adminx.py文件

在admin.py文件的同一目录新建一个adminx.py(注意只能是adminx.py,不能叫其它的名称)
在adminx.py里与之前的admin.py代码有一些不一样

  • 之前import admin, 这里import xadmin
  • 之前注册表时继承admin.ModelAdmin, 这里继承object
  • 之前inlines 关联的表(class MoreInfo)继承admin.StackedInline, 这里继承object
  • 之前可以有2种注册方式,可以用装饰器方法@admin.register(表类名),这里只能通过xadmin.site.register(表类名, xxx)方式
import xadmin
from .models import Question, Choice class MoreInfo(object):
model = Choice class ControlQuestion(object):
# 显示的字段
list_display = ('question_text', 'pub_date')
# 搜索条件
search_fields = ('question_text',) # 每页显示10条
list_per_page = 10 # 在Question页面显示更多信息Choice
inlines = [MoreInfo] class ControlChoice(object):
list_display = ["question", "choice_text"] # 注册Question表
xadmin.site.register(Question, ControlQuestion)
xadmin.site.register(Choice, ControlChoice)

xadmin列表页显示

django安装使用xadmin的更多相关文章

  1. Django安装Xadmin步骤

    在Django中安装Xadmin替换原始的admin,下面介绍两种方法安装 第一种方法:pip安装 第一步: 直接pip安装xadmin pip install xadmin pip会同时安装上面三个 ...

  2. Django配置后台xadmin管理界面

    Django配置后台xadmin管理界面 python版本3.6.5 Django版本1.10.8(刚开始是2.1.5,由于各种错误,改成了低版本) 1.xadmin的安装,下载地址https://g ...

  3. Python3升级3.6强力Django+杀手级xadmin打造在线教育平台☝☝☝

    Python3升级3.6强力Django+杀手级xadmin打造在线教育平台☝☝☝ 教程 Xadmin安装方法: settings.py 的配置

  4. Django 插件之 Xadmin实现富文本编辑器

    此文为前一篇文章的续写: Django 插件之 Xadmin Ueditor 介绍 UEditor 是由百度 web 前端研发部开发所见即所得富文本 web 编辑器,具有轻量,可定制,注重用户体验等特 ...

  5. Python3升级3.6强力Django+杀手级xadmin打造在线教育平台✍✍✍

    Python3升级3.6强力Django+杀手级xadmin打造在线教育平台 教程 Xadmin安装方法: settings.py 的配置: users App 下的 adminx.py 的配置:

  6. Django 学习之Xadmin

    一.xadmin的特点 1.基于Bootstrap3:Xadmin使用Bootstrap3.0框架精心打造.基于Bootstrap3,Xadmin天生就支持在多种屏幕上无缝浏览,并完全支持Bootst ...

  7. windows环境下Django安装配置

    --python下载 https://www.python.org/downloads/ --pip 下载 https://pypi.python.org/pypi/pip --pip 安装及路径 解 ...

  8. python Django 学习笔记(一)—— Django安装

    注:本人python版本2.7.5 ,win7系统 安装Django https://www.djangoproject.com/download/ 官方下载Django-1.5.5.tar.gz 1 ...

  9. Django学习(一) Django安装配置

    上一节介绍了如何搭建Python的开发环境,这次介绍一下如何搭建Django的开发环境. 第一.下载Django Django跟Python的版本对应 Django version Python ve ...

随机推荐

  1. vmware下ubuntu虚拟机如何安装vmware tools

      依次点击-->虚拟机-->安装VMware Tools   窗口下方会弹出安装提示   系统会加载安装驱动至光盘 双击--VMwareTools-****.tar.gz--的压缩包   ...

  2. Caused by SSLError("Can’t connect to HTTPS URL because the SSL module is not available)

    window7系统: 今天刚安装的anaconda(开源的Python包管理器),把原来的python3和python2都给卸载了,结果运行爬虫程序的时候报错: Caused by SSLError( ...

  3. @CrossOrigin:解决跨域问题

    注解@CrossOrigin解决跨域问题 阅读目录: 一.跨域(CORS)支持: 二.使用方法: 1.controller配置CORS 2.全局CORS配置 3.XML命名空间 4.How does ...

  4. 为什么需要 Redis 哨兵?

    在说哨兵之前,我们先说下主从复制,Redis 的主从复制模式,一旦主节点出现故障无法提供服务,需要人工介入手工将从节点调整为主节点,同时应用端还需要修改新的主节点地址,这种故障转移的方式对于很多应用场 ...

  5. 更丰富的符号工具包 Font Awesome

    我时常想要在此类文档中通过一些图形符号来表达更丰富的含义或是对段落进行标注,例如使用 Emoji.然而 Emoji 在这方面仍然有存在一些不足,如: 颜色与文字风格不统一, 在不同系统的平台上显示不统 ...

  6. LeetCode 1130. Minimum Cost Tree From Leaf Values

    原题链接在这里:https://leetcode.com/problems/minimum-cost-tree-from-leaf-values/ 题目: Given an array arr of ...

  7. Greenplum 与 PostgreSQL 修改元数据(catalog)的方法 allow_system_table_mods

    背景 PostgreSQL大量的信息保存在元数据中,所有的元数据都是内部维护的,例如建表.建索引.删表等操作,自动维护元数据. 在某些迫不得已的情况下才可能需要直接对元数据进行修改. 默认情况下,用户 ...

  8. Java web开发——文件夹的上传和下载

    我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 这次项目的需求: 支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,i ...

  9. WinDbg常用命令系列---.load, .loadby (Load Extension DLL)

    .load, .loadby (Load Extension DLL) 简介 .load和.loadby命令将新的扩展DLL加载到调试器中. 使用形式 .load DLLName !DLLName.l ...

  10. Xamarin Forms 实现发送通知点击跳转

    1. Ensure the you have set LaunchMode.SingleTop on your MainActivity: LaunchMode.SingleTop [Activity ...