django安装使用xadmin
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的更多相关文章
- Django安装Xadmin步骤
在Django中安装Xadmin替换原始的admin,下面介绍两种方法安装 第一种方法:pip安装 第一步: 直接pip安装xadmin pip install xadmin pip会同时安装上面三个 ...
- Django配置后台xadmin管理界面
Django配置后台xadmin管理界面 python版本3.6.5 Django版本1.10.8(刚开始是2.1.5,由于各种错误,改成了低版本) 1.xadmin的安装,下载地址https://g ...
- Python3升级3.6强力Django+杀手级xadmin打造在线教育平台☝☝☝
Python3升级3.6强力Django+杀手级xadmin打造在线教育平台☝☝☝ 教程 Xadmin安装方法: settings.py 的配置
- Django 插件之 Xadmin实现富文本编辑器
此文为前一篇文章的续写: Django 插件之 Xadmin Ueditor 介绍 UEditor 是由百度 web 前端研发部开发所见即所得富文本 web 编辑器,具有轻量,可定制,注重用户体验等特 ...
- Python3升级3.6强力Django+杀手级xadmin打造在线教育平台✍✍✍
Python3升级3.6强力Django+杀手级xadmin打造在线教育平台 教程 Xadmin安装方法: settings.py 的配置: users App 下的 adminx.py 的配置:
- Django 学习之Xadmin
一.xadmin的特点 1.基于Bootstrap3:Xadmin使用Bootstrap3.0框架精心打造.基于Bootstrap3,Xadmin天生就支持在多种屏幕上无缝浏览,并完全支持Bootst ...
- windows环境下Django安装配置
--python下载 https://www.python.org/downloads/ --pip 下载 https://pypi.python.org/pypi/pip --pip 安装及路径 解 ...
- python Django 学习笔记(一)—— Django安装
注:本人python版本2.7.5 ,win7系统 安装Django https://www.djangoproject.com/download/ 官方下载Django-1.5.5.tar.gz 1 ...
- Django学习(一) Django安装配置
上一节介绍了如何搭建Python的开发环境,这次介绍一下如何搭建Django的开发环境. 第一.下载Django Django跟Python的版本对应 Django version Python ve ...
随机推荐
- ACAG 0x02-8 非递归实现组合型枚举
ACAG 0x02-8 非递归实现组合型枚举 之所以专门来写这道题的博客,是因为感觉从最根本处了解到了递归的机器实现. 主要的就是两个指令--Call和Ret. Call指令会将返回地址入栈(系统栈) ...
- MySQL:查询、修改(二)
干货: 使用SELECT查询的基本语句SELECT * FROM <表名>可以查询一个表的所有行和所有列的数据.SELECT查询的结果是一个二维表. 使用SELECT *表示查询表的所有列 ...
- 自动化测试常用断言的使用方法(python+selenium)
自动化测试常用断言的使用方法(python) 自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断. 这 ...
- jenkins生成的HTML报告中expand与collapse问题
1.打开jenkins中脚本命令执行页面 2.在脚本命令页面的,输入框中粘贴 System.setProperty("hudson.model.DirectoryBrowserSupport ...
- GitLab CI runner can't connect to tcp://localhost:2375 in kubernetes
报错的.gitlab-ci.yml配置如下 image: docker:latest services: - docker:dind variables: DOCKER_HOST: tcp://loc ...
- Python3 - 基础(运算符)
Python3-运算符 举个简单的例子 4 +5 = 9 . 例子中,4 和 5 被称为操作数,"+" 称为运算符. 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算 ...
- Haskell语言学习笔记(95)Semiring
semirings 模块 semirings 模块需要安装 $ cabal install semirings Installed semirings-0.2.0.1 Prelude> :m + ...
- L1025
1,对于搜索,我有一个不成熟的想法,这不就是,强化版的for循环吗? 2,反正是搜索,那就先找搜索状态, n,x,n是第几次分,x是分剩下的数. 3,这个我觉得自己努力努力可能可以做出来. 4,首先要 ...
- SpringCloud过滤filter
目录 配置文件 application.yml eureka: client: service-url: defaultZone: http://localhost:8001/eureka serve ...
- c++读写matlab中.mat数据
前言:在进行图形图像处理时,经常会用到matlab进行算法的仿真验证,然后再移植到别的语言中.有时会涉及到数据的交互,比如直接读取matlab的.mat类型数据,或者是将c++中的数组存为.mat,为 ...