今天主要讲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了。
直接上效果图啦~~~~~