Django xadmin安装教程与问题解决方案

一、安装教程

  1. xadmin下载

    源码包下载地址:

    https://github.com/sshwsfc/xadmin/tree/django2

  2. 安装xadmin

    (1)安装方法一:pip install 第一步压缩包下载地址

    (2)安装方法二:直接复制压缩包里的xadmin文件夹到项目app的同级目录下(方便修改源码,本教程使用此方法)
    在这里插入图片描述
    在这里插入图片描述

  3. settings.py配置

    (1)注册app
    [外链图片转存失败(img-FDAt3Ka4-1564997280396)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1558668289312.png)]

     ```django
     INSTALLED_APPS = [
      'django.contrib.admin',
      'django.contrib.auth',
      'django.contrib.contenttypes',
      'django.contrib.sessions',
      'django.contrib.messages',
      'django.contrib.staticfiles',
      'APT_app',
      'xadmin', # 添加
      'crispy_forms', # 添加
      'reversion', # 添加(可选)
     ]
     ```
    

    (2)修改语言
    [外链图片转存失败(img-2ptnsIBn-1564997280396)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1558668650872.png)]

    LANGUAGE_CODE = 'zh-hans'
    TIME_ZONE = 'Asia/Shanghai'
    
  4. urls.py配置,xadmin替换admin
    [外链图片转存失败(img-aStgEd1U-1564997280396)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1558668819884.png)]

    from django.urls import path,include
    import xadmin
    xadmin.autodiscover()
    
    from xadmin.plugins import xversion
    xversion.register_models()
    
    urlpatterns = [
        path('xadmin/',xadmin.site.urls),#添加新路由
    ]
    
  5. 安装依赖包

    (1)复制第一步下载的压缩包里的requirements.txt到项目xadmin文件夹同级目录下
    [外链图片转存失败(img-pKlvxtrA-1564997280397)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1558672844341.png)]
    [外链图片转存失败(img-3qToUjr9-1564997280397)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1558672889249.png)]

    (2)执行以下代码

       pip install -r requirements.txt
    
  6. 数据同步

    python manage.py makemigrations
    
    python manage.py migrate
    
  7. 启动项目,并在浏览器访问127.0.0.1:8000/xadmin/

    python manage.py runserver
    

    [外链图片转存失败(img-BLQSy22g-1564997280397)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1558669846721.png)]

  8. 创建超级用户

    输入python manage.py createsuperuser并根据提示完成超级用户的创建
    [外链图片转存失败(img-lI6hSAfm-1564997280397)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1558670111750.png)]

  9. 根据自身需求,在App下的models.py文件中创建表结构并同步到数据库
    [外链图片转存失败(img-1524FgQv-1564997280397)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1558671523503.png)]

  10. 在app中添加一个adminx.py的文件用于在后台注册表

    (1)全局配置
    [外链图片转存失败(img-1JyunGEi-1564997280398)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1558671694608.png)]

    (2)注册表
    [外链图片转存失败(img-t57OGsoa-1564997280398)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1558672517560.png)]

  11. 再次访问127.0.0.1:8000/xadmin/
    [外链图片转存失败(img-t57OGsoa-1564997280398)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1558672517560.png)]

二、问题说明

  1. 点击添加小组件出错:render() got an unexpected keyword argument ‘renderer’

    解决办法:

    • 打开xadmin/views/dashboard.py

    • 把第36行代码修改成以下内容

      def render(self, name, value, attrs=None, renderer=None):
      
  2. 修改app显示的名称

    解决办法:

    (1)进入对应app下的apps.py文件,修改代码如下(根据自认情况修改app名)

    from django.apps import AppConfig
    class AptAppConfig(AppConfig):
        name = 'APT_app'
        verbose_name = u'APT组织信息展示'  # 配置中文别名,还需在__init__中配置
    

    (2)进入__init__.py文件下,添加代码如下(根据自认情况修改app名)

    default_app_config = 'APT_app.apps.AptAppConfig'
    
  3. 修改登录后的首页路径

    解决办法:

    • 进入xadmin下的文件路径:xadmin/views/website.py

    • 修改56、57行(根据需求修改)

      [外链图片转存失败(img-OOWq9QP5-1564997280399)(C:\Users\LiLei\AppData\Roaming\Typora\typora-user-images\1561684252658.png)]

  4. 修改xadmin首页左上角标题路由;
    [外链图片转存失败(img-prUsSu2I-1564997280399)(C:\Users\LiLei\AppData\Roaming\Typora\typora-user-images\1561684274056.png)]

    解决办法:

    进入xadmin/templates/xadmin/base_site.html修改以下代码;
    [外链图片转存失败(img-s0TrPuTL-1564997280399)(C:\Users\LiLei\AppData\Roaming\Typora\typora-user-images\1561684302739.png)]

  5. 如何使用xadmin注销功能;

    直接使用{% url 'xadmin:logout' %}

posted @ 2019-08-13 19:03  程序猿杂记  阅读(237)  评论(0)    收藏  举报