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