把xadmin包放到项目目录下,便于修改xadmin中的代码。

首先解压下载好的 xadmin-django2.zip 压缩包,拷贝子文件夹中的xadmin文件夹,到项目中新建extra_apps文件夹,放入xadmin。

虚拟环境中卸载 xadmin安装包:

pip uninstall xadmin

把extra_apps目录mark为sources root

到settings中设置extra_apps文件夹的跟路径:

sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))

这样访问xadmin时自动从配置文件中查找相应的路径。

如果对添加的用户进行修改时,会弹出错误:

IndexError at /xadmin/users/userprofile/2/update/
list index out of range
Request Method:	GET
Request URL:	http://localhost:8000/xadmin/users/userprofile/2/update/
Django Version:	2.0.5
Exception Type:	IndexError
Exception Value:
list index out of range
Exception Location:	D:\python\MXonline\extra_apps\xadmin\widgets.py in render, line 80
Python Executable:	C:\Users\Administrator\Envs\oneenv\Scripts\python.exe
Python Version:	3.6.5
Python Path:
['D:\\python\\MXonline\\extra_apps',
 'D:\\python\\MXonline\\apps',
 'D:\\python\\MXonline',
 'C:\\Program Files\\JetBrains\\PyCharm 2018.1.2\\helpers\\pydev',
 'D:\\python\\MXonline',
 'D:\\python\\MXonline\\apps',
 'D:\\python\\MXonline\\extra_apps',
 'C:\\Program Files\\JetBrains\\PyCharm 2018.1.2\\helpers\\pydev',
 'C:\\Users\\Administrator\\.PyCharm2018.1\\system\\cythonExtensions',
 'C:\\Users\\Administrator\\Envs\\oneenv\\Scripts\\python36.zip',
 'C:\\Users\\Administrator\\Envs\\oneenv\\DLLs',
 'C:\\Users\\Administrator\\Envs\\oneenv\\lib',
 'C:\\Users\\Administrator\\Envs\\oneenv\\Scripts',
 'c:\\users\\administrator\\appdata\\local\\programs\\python\\python36\\Lib',
 'c:\\users\\administrator\\appdata\\local\\programs\\python\\python36\\DLLs',
 'C:\\Users\\Administrator\\Envs\\oneenv',
 'C:\\Users\\Administrator\\Envs\\oneenv\\lib\\site-packages',
 'C:\\Program Files\\JetBrains\\PyCharm '

  pycharm中的错误信息是:

  File "C:\Users\Administrator\Envs\oneenv\lib\site-packages\django\template\base.py", line 910, in render_annotated
    return self.render(context)
  File "C:\Users\Administrator\Envs\oneenv\lib\site-packages\django\template\defaulttags.py", line 314, in render
    return nodelist.render(context)
  File "C:\Users\Administrator\Envs\oneenv\lib\site-packages\django\template\base.py", line 943, in render
    bit = node.render_annotated(context)
  File "C:\Users\Administrator\Envs\oneenv\lib\site-packages\django\template\base.py", line 910, in render_annotated
    return self.render(context)
  File "C:\Users\Administrator\Envs\oneenv\lib\site-packages\django\template\defaulttags.py", line 314, in render
    return nodelist.render(context)
  File "C:\Users\Administrator\Envs\oneenv\lib\site-packages\django\template\base.py", line 946, in render
    bits.append(str(bit))
  File "C:\Users\Administrator\Envs\oneenv\lib\site-packages\django\utils\html.py", line 380, in <lambda>
    klass.__str__ = lambda self: mark_safe(klass_str(self))
  File "C:\Users\Administrator\Envs\oneenv\lib\site-packages\django\forms\boundfield.py", line 36, in __str__
    return self.as_widget()
  File "C:\Users\Administrator\Envs\oneenv\lib\site-packages\django\forms\boundfield.py", line 118, in as_widget
    **kwargs
  File "D:\python\MXonline\extra_apps\xadmin\widgets.py", line 80, in render
    '</i></span>%s<span class="input-group-btn"><button class="btn btn-default" type="button">%s</button></span></div></div>' % (input_html[0], _(u'Today'), input_html[1], _(u'Now')))
IndexError: list index out of range
[03/May/2018 15:11:36] "GET /xadmin/users/userprofile/2/update/ HTTP/1.1" 500 630373

  具体解决办法是:https://blog.csdn.net/yuhan963/article/details/79167743

就是在xadmin中的 widgets.py文件的第 75行,

input_html = [ht for ht in super(AdminSplitDateTime, self).render(name, value, attrs).split('\n') if ht != '']

换成:

input_html = [ht for ht in super(AdminSplitDateTime, self).render(name, value, attrs).split('/><') if ht != '']
input_html[0] = input_html[0] + "/>"
input_html[1] = "<" + input_html[1]

ctrl + alt +f 格式化代码后,行号变了

再看浏览器,ok:

5.2离线使用xadmin包的更多相关文章

  1. 【Python使用】使用pip安装卸载Python包(含离线安装Python包)未完成???

    pip 是 Python 包管理工具,该工具提供了对Python包的查找.下载.安装.卸载的功能.Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具. pip使用( ...

  2. Python3 离线安装TensorFlow包

    Python3 离线安装TensorFlow包 1,下载包 官网地址:https://pypi.org/project/tensorflow/1.1.0rc2/#files 清华镜像:https:// ...

  3. centos7离线安装rpm包自动解决依赖

    离线安装rpm包自动解决依赖参照https://blog.csdn.net/u011396718/article/details/80153515当生产环境由于安全原因处于断网状态的时候.通过本地源的 ...

  4. 离线下载pip包安装

    Host-A 不能上网,但是需要在上面安装python-package 通过另外一台能上网的Host-B主机 1. 下载需要离线安装的Packages 在Host-B上执行如下命令: 安装单个Pack ...

  5. 离线下载pip包进行安装【转】

    Host-A 不能上网,但是需要在上面安装Python-package 通过另外一台能上网的Host-B主机 1. 下载需要离线安装的Packages 在Host-B上执行如下命令: 安装单个Pack ...

  6. centos 6 yum源记录,离线下载rpm包的办法

    wget -O /etc/yum.repos.d/CentOS6-Base-163.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo rp ...

  7. Windows设置国内源阿里云镜像加速与离线安装pip包的方法

    Windows设置国内源阿里云镜像加速1.先在 windows “文件资源管理器” 地址栏 输入 %APPDATA% 按回车,打开程序自定义设置文件夹然后,创建名为 pip 的文件夹,用于存放 pip ...

  8. CentOS里下载和离线安装rpm包

    离线下载rpm包    yum --downloadonly --downloaddir=/home/packages install mariadb-devel 安装离线rpm包    进入下载包的 ...

  9. [开发技巧]·如何让离线安装Python包

    [开发技巧]·如何让离线安装Python包 1.问题描述 PyPI(Python Package Index)是python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI. ...

随机推荐

  1. 001-jpa基本概念以及基础注解

    一.什么是JPA JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. S ...

  2. git-【二】本地git操作提交、版本回退

    一.创建版本库,提交文件 什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任 ...

  3. spring boot开启事务管理,使用事务的回滚机制,使两条插入语句一致

    spring boot 事务管理,使用事务的回滚机制 1:配置事务管理 在springboot 启动类中添加 @EnableTransactionManagement //开启事务管理 @Enable ...

  4. PHP对象转数组

    Solution json_decode( json_encode( $obj ), true ): But why?You should have a look at the function na ...

  5. Cocos2d-JS实现的贪吃蛇

    一.前言 相信贪吃蛇大家都玩儿过,我对贪吃蛇的印象就是在电子词典上,一只像素蛇在屏幕游走,饥渴难耐,看着豆子就要去吃,吃到豆子就会长一节,当蛇的身体越来越长的时候,它才发现这个世界变了,每走一步,都是 ...

  6. appcmd创建站点、应用程序、虚拟目录批处理程序

    创建站点(放置在站点下运行): @echo off cls :start echo start set /p sitename="sitename:" @set "phy ...

  7. Java面向对象---重写(Override)与重载(Overload)

    一.重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说 ...

  8. selenium-python读取XML文件

    首先这是我们要读取的XML文件 <?xml version="1.0" encoding="utf-8" ?><info> <ba ...

  9. 利用ansible进行自动化构建etcd集群

    上一篇进行了手动安装etcd集群,此篇利用自动化工具ansible为三个节点构建etcd集群 环境: master:192.168.101.14,node1:192.168.101.15,node2: ...

  10. linux history记录格式修改

    #保存一万条命令记录 sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile #在/etc/profile的文件尾部添加如下行数配置信息 ### ...