xadmin库的下载安装及奇葩报错的解决方法

今天主要讲xadmin库的下载和安装的.......各种问题。。。。。。。

  先注明:我使用的是python3.6,Django2.0,所以xadmin也应该是2.0版本会比较适配。

  所以这里先给个xadmin的资源,很多人都会下载成master的,要是不知道怎么找Django版本的朋友直接点击这里

 

  OK,下面开始讲下载安装xadmin的两种方法以及各种奇葩报错:

一、最基本的,在命令行输入下面的命令直接下载安装。

pip install xadmin
pip install git+git://github.com/sshwsfc/xadmin.git

  但这个方法会出现一个版本问题:默认装的是0.6版本的,而我们需要的是2.0。提示是这样子的:

  

    它说:'gbk' 没办法弄懂 ‘README.rst’ 这个文件里的东西。

 

   于是我秉着“有事找度娘”的原则,在网上找到了各种奇葩的方法:(为什么奇葩呢?因为我试过后没一个能解决我问题的,还浪费了我整整一天的时间。)

  • pip install django-xadmin;
  • 使用 pip install (某插件的名字),然后重新调用pip命令安装;
  • pip install git+git://github.com/sshwsfc/xadmin.git;
  • 新建一个txt空文件,把文件名改成README.rst,并替换掉xadmin-master.zip中的原文件;
  • 在pycharm使用setting 直接安装,提示倒是successfully,然而我愣是没找着;

 

  各种言之凿凿,我试了之后倒也确实不会报解码错误了,可它又跑出另一个错误出来啊!!然后就各种改,直到最后面目全非,原地爆炸。而我把它们都总结起来写一起呢,也只是希望你们可以花更少的时间和精力解决这个事情。

  当然啦,也不是说上面的方法就肯定是错的或者是没用的,只是不能解决我这次的bug而已,或者说是答非所问吧,而我又一直找不到真正属于我的答案,毕竟每个人遇到的bug可能是不一样的,对吧。

 

二、最推荐的,源码安装方式,因为有些时候我们需要直接在源代码里面修改xadmin的一些属性。

(1)直接点击上面的链接,下载xadmin的zip文件,然后在pycharm中的项目下创建一个package,命名为extra_apps并Mark为Sources Root,再把zip文件中的xadmin复制到extra_apps中,结果如图所示:

  

 

(2)然后在 项目名.settings中加入路径:

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'))

 

(3)项目名.settings中注册app:('xadmin' 和 'crispy_forms'

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'users',
    'course',
    'organization',
    'operation',
    'xadmin',
'crispy_forms',
]

 

(4)项目名.urls中配置路由:

from django.urls import path
import xadmin

urlpatterns = [
    path('xadmin/', xadmin.site.urls),
]

 

(5)之后再makemigrations和migrate一下就大功告成了。

  这个不懂的话就自己百度吧,很容易找的这个,还有疑问的话可以看一下这篇

 

(6)当然,我们还可以把xadmin调成中文的,毕竟中文亲切点嘛,代码如下:

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True

USE_L10N = True

USE_TZ = False

  这里记得要按标黄的改,而且这是基于Django2.0的代码,如果不是2.0的话请自行百度,谢谢。

 

(7)最后Task一个超级管理员就可以进入后台happy了。

  直接上效果图啦~~~~~

 

 

posted @ 2018-04-25 02:09  WoLykos  阅读(3292)  评论(1编辑  收藏  举报