zoukankan      html  css  js  c++  java
  • Django中xamin配置

    首先用pipenv安装xadmin

    pipenv install xadmin

    下载成功之后会报错

    Complete output from command python setup.py egg_info: Traceback (most recent call last): File "", line 1, in File "C:UsersleoAppDataLocalTemppip-build-thid_cllxadminsetup.py", line 11, in long_description=open('README.rst').read(), UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 3444: illegal multibyte sequence ---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in C:UsersleoAppDataLocalTemppip-build-thid_cllxadmin

    这是因为python3编码更改的原因,其实只是里面的一个文件有问题而已.

    那么我们改用安装包来进行安装,登录github,搜索xadmin,第一个链接就是了,将其下载到我的桌面,然后打开安装包,将里面的README.rst文件删除掉,再新建一个同名空文件去替换掉.重新安装

    pipenv install xadmin-master.zip

    就可以安装成功了.

     

    接下来是配置

    由于后续需要对xadmin进行插件定制,需要修改源码,所以我们将下载好的zip文件中的xadmin文件夹单独拷贝出来,放到我们的项目根目录下,新建一个extra_apps(这里存放所有的第三方软件包)来存放.

    然后卸载

    pipenv uninstall xadmin

    这么看起来,是不是觉得一开始安装只是为了安装包依赖呢.....

     

    接下来在项目的setting中进行配置,先将xadmin import到settings中,在INSTALL_APP下新增两个项目,分别是"xadmin"和""crispy_forms""(注意此处是将原本的中划线改成了下划线).

    如果原本在app中的admin.py中已经进行了原系统的admin配置,此时注释掉配置代码即可.

    之后在系统的url文件中import xadmin,将原先url字典中的admin改为xadmin,后面的方法也是一样修改,以后访问admin/地址就会失效了,需要改为xadmin/.当然也可以不该url,只改动后面的视图函数,那么输入admin/直接跳转到xadmin后台,好像更不错.

    然后在终端下运行

    python3 manage.py makemigrations

    python3 manage.py migrate

    将xadmin下的表在数据库中生成

    基本配置到这里就结束了

    然后是将自己django中的app都注册进去

    在每个app下新建一个adminx.py,不是xadmin.py

    里面写入如下内容

     

    
    
    import xadmin    #  不是adminx
    from .models import EmailVerifyRecord, Banner

    class EmailVerifyRecordAdmin(object):
    list_display = ("code", "email", "send_type", "send_time") # 设置进行展示的字段列表
    search_fields = ("code", "email", "send_type", "send_time") # 设置进行查询的字段列表
    list_filter = ("code", "email", "send_type", "send_time") # 设置进行过滤查看的字段列表


    xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin) # 将model注册到xadmin中

    同一个app下面的model都写入此文件中,user不用,已经默认添加了.

    配置完成以后,重新运行makemigrations xadmin 和 migrate xadmin,此时就可以生效了.
     

    设置后台的标题,页脚和菜单.
    在users这个app下的adminx.py文件中,加入以下内容
    
    
    class GlobalSetting(object):
    site_title = "慕学后台管理系统" #设置网站标题
    site_footer = "慕学在线网" # 设置页脚
    menu_style = "accordion" #将菜单设置为下拉菜单
    xadmin.site.register(views.CommAdminView, GlobalSetting) # 将配置运行到后台系统之中去


    激活后台的主题,并收起左侧菜单
    在users这个app下的adminx.py文件中,加入以下内容

    from xadmin import views

    class BaseSetting(object):
    enable_themes = True #这是激活网页的主题功能
    use_bootswatch = True # 激活后可以下载各式主题

    xadmin.site.register(views.BaseAdminView, BaseSetting) #将功能应用后台网页中
    修改后台系统的app显示名称

    打开每个app下面的apps.py文件,可以看到

    
    
    from django.apps import AppConfig


    class UsersConfig(AppConfig):
    name = 'users'
    verbose_name = "用户信息" # 这是后面添加的,主要就是将verbose_name加入进去

    然后在当前目录的__init__.py文件中,加入以下内容
    default_app_config = "users.apps.UsersConfig" # 加载app的样式,内容是appname.apps.ClassName
    
    



     关于xadmin中修改记录时,已经存在的图片数据无法加载,需要重新指定图片才可以成功保存的问题:

    这个并不是bug,而是模型上会默认该值是必填的,想要允许它不设置还能保留原来的值,你可以在你的模型上添加 blank=True 的选项。答案来自https://segmentfault.com/q/1010000015618797/a-1020000015623226/1010000015618797/a-1020000015623226

  • 相关阅读:
    Ubuntu通过ADB连接手机
    MyRolan (快速启动小工具)
    关闭QQ右下角弹窗小程序
    day23作业-韩明琰
    day18-20作业-韩明琰
    day14-16作业-韩明琰
    java中对于多态的理解
    day11作业-韩明琰
    day10作业-韩明琰
    day09_作业
  • 原文地址:https://www.cnblogs.com/xiujin/p/9695205.html
Copyright © 2011-2022 走看看