我的环境:
pycharm python3.8 django3.0 xadmin3.0
安装xadmin3.0 下载页面
https://codeload.github.com/russell310/xadmin/zip/django3
在虚拟环境下进入文件安装依赖文件requirements.txt
将其内的xadmin文件直接copy到项目中
设置语言和时区
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
注册xadmin
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 注册xadmin
'xadmin',
'crispy_forms',
]
设置xadmin
在应用的urls.py中导入xadmin
添加url
path('xadmin/', xadmin.site.urls),
数据库迁移
# 生成数据库执行文件
python manage.py makemigrations
# 数据库迁移
python manage.py migrate
设置超级管理员账号
python manage.py createsuperuser
按照指示完成
在应用中建立自己的后台管理项目
建立xadmin.py
进行注册添加
例如:
from .models import Article import xadmin class ArticleAdmin(object): date_hierarchy = 'create_date' exclude = ('views',) # 在查看修改的时候显示的属性,第一个字段带有<a>标签,所以最好放标题 list_display = ('id', 'title', 'author', 'create_date', 'update_date') # 设置需要添加<a>标签的字段 list_display_links = ('title',) # 激活过滤器,这个很有用 list_filter = ('create_date', 'category') list_per_page = 50 # 控制每页显示的对象数量,默认是100 filter_horizontal = ('tags', 'keywords') # 给多选增加一个左右添加的框 # 限制用户权限,只能看到自己编辑的文章 def get_queryset(self, request): qs = super(ArticleAdmin, self).get_queryset(request) if request.user.is_superuser: return qs return qs.filter(author=request.user) xadmin.site.register(Article,ArticleAdmin)
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.0001_initial on database 'default'.
进入数据库删除所有表再次执行
python manage.py migrate