如果不是django2.2的安装django2.2
pip3 install -i https://pypi.doubanio.com/simple/ django==2.2
安装完成之后需要改掉mysql的版本限制、以及一个decode改成encode,在我前面的数据库系列学习笔记中有记载。
下载xadmin源码:
源码安装:
github地址:https://github.com/sshwsfc/xadmin/tree/django2 (django2分支)
clone 或者 下载到本地以后,把xadmin文件夹直接拷贝到项目目录中,就像这样(我是新建了一个extra_apps专门存放第三方app)
pip安装一些依赖包
pip3 install django-crispy-forms
pip3 install django-formtools
pip3 install httplib2
pip3 install future
pip3 install six
pip3 install django-import-export
配置setting.py注册apps
INSTALLED_APPS = [
......
'xadmin',
'crispy_forms',
]
urls.py中添加路由
import xadmin
urlpatterns = [
url(r'^xadmin/', xadmin.site.urls),
]
如果已经注册超级用户了那就不用注册了,默认我认为你已经注册超级用户。
如果没有注册超级用户:python3 manage.py createsuperuser
继续:
python3 manage.py makemigrations
python3 manage.py migrate
同步记录,生成表,并且运行,访问xadmin
python3 manage.py runserver
如果发现页面是英文的,可以在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 EmailVerifyRecord
class EmailVerfyRecordAdmin:
#显示哪些列
list_display=('code','email','send_time')
#显示搜索框,并且定义可以搜索哪些字段
search_fields=('code','email','send_type','send_time')
#设定过滤器
list_filter=('code','email','send_type','send_time')
xadmin.site.register(EmailVerifyRecord,EmailVerfyRecordAdmin)