美文网首页
django1.11+python3.6配置xadmin

django1.11+python3.6配置xadmin

作者: 无心文先森 | 来源:发表于2021-01-06 13:18 被阅读0次
  1. 创建extra_apps的包,并将extra_apps这个包作为sources Root

  2. github下载:https://github.com/nocmt/Xadmin1.11.x/archive/master.zip,将xadmin的包下载并解压

  3. 将压缩包解压找到里面的下xadmin文件夹,将xadmin文件夹放在extra_apps

  4. settings.py中设置

import sys
sys.path.append(os.path.join(BASE_DIR, 'extra_apps'))
INSTALLED_APPS = [
   ...
   'xadmin',   # 你添加这个
   'crispy_forms'  # 还有这个
]
  1. 安装相关依赖包
pip install six
pip install future
pip install httplib2
pip install django-reversion
pip install django-formtools
pip install django-crispy-forms
  1. 生成迁移文件
python manage.py makemigrations
python manage.py migrate
  1. 修改路由文件urls.py
import xadmin

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

配置xadmin和模型

  1. 在对应的app下创建adminx.py文件
  2. EmailVerifyRecord模型为例,在user/adminx.py下配置
import xadmin
from .models import EmailVerifyRecord
from xadmin import views


class BaseSetting():
    enable_themes = True # 开启主题功能
    use_bootswatch = True


class GlobalSettings():
    site_title = '教育系统' # 左上角
    site_footer = '教育系统在线网站' # 底部
    menu_style = 'accordion'  # 折叠目录

class EmailVerifyRecordAdmin():
    list_display = ['code', 'email', 'send_type', 'send_time']  # 显示字段
    search_fields = ['code', 'email', 'send_type']  # 搜索字段
    list_filter = ['code', 'email', 'send_type', 'send_time']   # 过滤器

xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)
xadmin.site.register(views.BaseAdminView,BaseSetting)    # 主题
xadmin.site.register(views.CommAdminView,GlobalSettings) # 全局配置

  1. 出现问题:在创建Model的时候,如果存在类型是DateTimeField的字段,则在xadmin后端管理界面里,对该Model进行添加操作的时候,会报list index out of range
  2. 解决方式:
    1. xadmin/widgets.py中修改源码。大约在76行

    2. 源代码为:


      image.png
    3. 修改代码为


      image.png
    4. 修改部分的代码为

    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]
    

点击添加小组件时,出现报错build_attrs() got an unexpected keyword argument 'name',解决方法为:去django\forms\widgets.py在build_attrs()函数的定义处添加一个**kwargs

def build_attrs(self, base_attrs, extra_attrs=None# , **kwargs):
    "Helper function for building an attribute dictionary."
    attrs = base_attrs.copy()
    if extra_attrs is not None:
        attrs.update(extra_attrs)
    return attrs

app的名字改成中文,以users为例

users/__init__.py中配置

# 添加默认的app_config使app中文名生效
default_app_config = 'users.apps.UsersConfig'

users/apps.py中配置

from django.apps import AppConfig


class UsersConfig(AppConfig):
    name = 'users'
    verbose_name = '用户信息'

相关文章

  • django1.11+python3.6配置xadmin

    创建extra_apps的包,并将extra_apps这个包作为sources Root github下载:htt...

  • django2.0.7安装配置xadmin

    下载xadmin源码 首先xadmin下载,进入网页后按照图示顺序点击下载 配置xadmin 1.在项目文件夹中创...

  • Django报错ImportError: cannot impo

    以下是安装xadmin遇到的一个问题:1、当配置好xadmin后,运行项目,遇到问题:ImportError: c...

  • xadmin配置(django)

    在django中,自带有admin管理界面,是个非常强大的后台管理界面xadmin是admin的拓展,界面功能比a...

  • django配置xadmin

    1、安装xadmin 参见我的另一篇文章 2、 在installed_app中注册 3、配置urls(创建项目时的...

  • Django+Xadmin打造在线教育系统(九)

    xadmin的进阶开发 因版本问题.有些配置可能无效 自定义icon xadmin的图标采用的是第三方css样式f...

  • Django Xadmin站点管理配置

    1. 安装 通过指定安装最新版的xadmin 在配置文件中注册应用 xadmin有建立自己的数据库模型, 所以得需...

  • django的admin和xadmin

    admin配置 admin和xadmin对比参数https://www.jianshu.com/p/05edc51...

  • xadmin建站(2)

    三、xadmin后台管理 3.1见xadmin建站(预装)获取xadmin 3.2.xadmin的设置 (1)新建...

  • 项目目录

    项目介绍,环境配置,数据表创建 后台管理系统的实现- xadmin 注册登录首页展示

网友评论

      本文标题:django1.11+python3.6配置xadmin

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