python3.6 + django2.0下的xadmin安装、配置及报错解决

用过django的朋友都知道,django自带的后台管理系统是一套智能的管理系统。

今天给大家介绍下一套基于admin, 比admin更强大的系统。 xadmin

python3.6 + django2.0下的xadmin安装、配置及报错解决_第1张图片

 

源码安装

github地址:https://github.com/sshwsfc/xadmin/tree/django2 (django2分支)

clone 或者 下载到本地以后,把xadmin文件夹直接拷贝到项目目录中,就像这样(我是新建了一个extra_apps专门存放第三方app)

python3.6 + django2.0下的xadmin安装、配置及报错解决_第2张图片

pip安装一些依赖包

pip install django-crispy-forms
pip install django-formtools
pip install httplib2
pip install future
pip install six
pip install django-import-export

(若安装django-import-export库时遇到问题,请看文章尾部)

配置setting.py注册apps

INSTALLED_APPS = [
    ......
    'xadmin',
    'crispy_forms',
]

urls.py中添加路由

import xadmin

urlpatterns = [
    url(r'^xadmin/', xadmin.site.urls),
]

控制台注册超级用户

createsuperuser

同时makemigrations和migrate同步xadmin的一些表

启动服务,访问后台 127.0.0.1:8000/xadmin

python3.6 + django2.0下的xadmin安装、配置及报错解决_第3张图片

如果发现页面是英文的,可以在settings.py中配置语言和时区

LANGUAGE_CODE = 'zh-hans'
 
TIME_ZONE = 'Asia/Shanghai'
 
USE_I18N = True
 
USE_L10N = True
 
USE_TZ = False    #设置为False则使用本地时间,否则会使用国际时间

接下来就是把app注册到xadmin中

在app目录下新建一个adminx.py, xadmin会自动搜寻该文件来注册model

以我自己的一个校园卡管理系统的代码为例

import xadmin
from .models import Card, Student


class CardAdmin:
    list_display = ['card_id', 'balance', 'state', 'create_time']
    search_fields = ['card_id']
    list_filter = ['card_id', 'state', 'create_time']


class StudentAdmin:
    list_display = ['student_id', 'card_id', 'name', 'sex', 'college', 'grade', 'dormitory']
    search_fields = ['student_id', 'card_id', 'name', 'sex', 'college', 'grade', 'dormitory']
    list_filter = ['student_id', 'card_id', 'name', 'sex', 'college', 'grade', 'dormitory']


xadmin.site.register(Card, CardAdmin)
xadmin.site.register(Student, StudentAdmin)

完整项目(github):基于django的校园卡管理系统

*报错解决

在pip安装过程中,出现如下报错

UnicodeDecodeError: 'utf8' codec can't decode byte 0xce in position 72

解决方案:控制台输入

chcp 65001

转换成 utf-8代码页

然后重新pip一下就解决了~

 

你可能感兴趣的:(python,python3,xadmin,setting,django2)