django-简单使用xadmin

  我的环境:
  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

    
posted @ 2020-04-02 12:30  momingQI  阅读(227)  评论(0编辑  收藏  举报