首先说明一下 直接使用pip安装出现的问题:
运行:pip install xadmin 后报错,以下为报错信息:
C:\Windows\system32>pip install xadmin
Collecting xadmin
Downloading xadmin-0.6.1.tar.gz (1.0MB)
100% |████████████████████████████████| 1.0MB 329kB/s
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\Hao\AppData\Local\Temp\pip-build-m7x6g0ti\xadmin\setup.py", line 11, in <module>
long_description=open('README.rst').read(),
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 3444: illegal multibyte sequence
目前网上已经写有很多的解决方法,但看到很多都是不适用的,避免重复踩坑就在这记录一下,
如以下种种:
- 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,然而我愣是没找着;
反正总的来说上面的方法都不适合我,总之上即使安装成功后,调用时候也是出现其他报错,最后是瞎忙活大半天。
最后找到的解决办法:
(1)直接到github下载源码,https://github.com/sshwsfc/xadmin,然后在pycharm中的项目下创建一个package,命名为extra_apps并Mark为Sources Root,再把zip文件中的xadmin复制到extra_apps中,结果如图所示:
image.png
(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',
'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
(7)最后Task一个超级管理员就可以进入后台。createsuperuser