• python测试开发django-34.xadmin管理后台


    前言

    django自带的admin后台管理页面有点丑陋,于是网上的大神优化了一版后台管理xadmin,并且开源了,在github开源下载到源码。
    注意环境搭配:

    • django 2.1.2
    • xadmin 2.0
    • python 3.6

    xadmin安装

    xadmin在github的源码地址https://github.com/sshwsfc/xadmin,可以用pip安装也可以自己下载后导入到项目中。
    这里不推荐pip安装,会有报错。本篇介绍下载xadmin后导入的django项目中的方法。

    先在github上下载源码包,由于小编的django版本是2.1版本,下载对应的django2分支代码。
    这里不能直接下载master分支(别问是怎么知道的,一把辛酸泪!),版本不匹配,亲人两行泪!

    下载了后解压出来,只需要里面的xadmin这一部分内容

    在原来的django项目工程下新建一个extra_apps包,把上面的xadmin目录整个放到extra_apps目录下,如下结构

    接着在pycharm上把extra_apps包Mark为Sources Root。具体操作方法:extra_apps右键-找到Mark Directory As-选择Sources Root
    (要是找不到这个选项,估计是用的盗版pycharm?)

    在解压的文件里requirements.txt有列出相关的依赖包,用pip安装

    • django-crispy-forms>=1.6.0
    • django-import-export>=0.5.1
    • django-reversion>=2.0.0
    • django-formtools==1.0
    • future==0.15.2
    • httplib2==0.9.2
    • six==1.10.0

    添加xadmin配置

    在项目setting.py中INSTALLED_APPS下注册2个app,xadmin和crispy_forms

    INSTALLED_APPS = [
        'django.contrib.admin',          # 管理站点
        'django.contrib.auth',           # 认证系统
        'django.contrib.contenttypes',   # 用于内容类型的框架
        'django.contrib.sessions',       # 会话框架
        'django.contrib.messages',       # 消息框架
        'django.contrib.staticfiles',    # 管理静态文件框架
        'hello',             # 应用app
        'xadmin',            # 新添加
        'crispy_forms',      # 新添加
    ]
    

    找到BASE_DIR这行,添加两行代码,修改前代码如下

    import os
    
    # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

    修改后的代码如下

    # 修改后
    import os
    import sys
    
    # 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, 'apps'))
    sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))

    urls.py中配置路由

    from django.contrib import admin
    import xadmin
    
    urlpatterns = [
        url(r'^xadmin/', xadmin.site.urls),   # xadmin
        url(r'^admin/', admin.site.urls),     # 原来的admin
    ]

    setting.py设置成中文

    LANGUAGE_CODE = 'zh-hans'
    
    TIME_ZONE = 'Asia/Shanghai'
    
    USE_I18N = True
    
    USE_L10N = True
    
    USE_TZ = False

    之后执行 makemigrations 和migrate,然后runserver启动服务

    python manage.py makemigrations
    python manage.py migrate

    不行的话执行:python manage.py migrate xadmin
    python manage.py runserver

    创建管理员用户,如果之前admin后台创建过,下面这步可以省略,账号可以通用

    python manage.py createsuperuser

    打开xadmin后台

    在浏览器输入http://localhost:8000/xadmin/地址,就可以打开xadmin的后台了

    登录的账户和密码跟之前的admin是一样的

  • 相关阅读:
    Java线程死锁模拟
    Arrays Multi
    PHP Forms
    simple grammer
    有意义的命名 Meaningful names
    整洁代码
    XPath
    多态
    复用类
    访问控制权限
  • 原文地址:https://www.cnblogs.com/mashuqi/p/11009906.html
Copyright © 2020-2023  润新知