django admin简单运用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a6864657/article/details/85419721

xadmin 安装

方法一

不建议因为有可能无法使用xdmin新功能


 pip  install xadmin

方法二

	建议源码获取项目https://github.com/sshwsfc/xadmin
	github地址为[https://github.com/sshwsfc/xadmin](https://github.com/sshwsfc/xadmin)

requirements.txt

	django>=1.9.0
	django-crispy-forms>=1.6.0
	django-import-export>=0.5.1
	django-reversion>=2.0.0
	django-formtools==1.0
	future==0.15.2
	httplib2==0.9.2
	six==1.10.0

setting.py配置

	INSTALLED_APPS = (
	    'Book',          #原应用
	    'xadmin',      #注册xadmin
	    'crispy_forms',    #crispi_forms与xadmin配套   
	)

项目url路由中配置

		from django.conf.urls import include, url
		#from django.contrib import admin
		import xadmin  引入包
		urlpatterns = [
		    url(r'^xadmin/', include(xadmin.site.urls)),   #改为xadmin
		
		    url(r'^', include('Book.urls', namespace='book'))
		]

在每个APP目录下新建一个adminx.py文件,这里以订单BookIfo为例。

model内容如下:

from django.db import models

class BookInfo(models.Model):
    name = models.CharField(max_length=20, verbose_name='图书名称') 
    pub_date = models.DateField(null=True, verbose_name='发布日期') 
    readcount = models.IntegerField(default=0, verbose_name='阅读量') 
    commentcount = models.IntegerField(default=0, verbose_name='评论量') 
    isDelete = models.BooleanField(default=False, verbose_name='逻辑删除')

    class Meta:
        db_table = 'bookinfo'
        verbose_name = '书籍信息'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.name

import xadmin
from .models import BookInfo

class BookInfoAdmin(object):
    """BookInfo模型类的站点管理类"""
    
    list_per_page = 10                                          设置每页展示数据的条数,默认是100
    actions_on_bottom = True                               设置action/动作的位置,在底部增加一个
    list_display = ['id','name','parent','title']      指定展示的字段
    list_filter = ['name']                               右侧过滤栏
    search_fields = ['name']                       搜索框

    # 以下代码是演示站点管理界面的编辑页选项
    # fields = ['parent', 'name']
    # 分组:fieldsets和fields必须二选一
    fieldsets = [
        ('高级', {'fields': ['parent']}),
        ('基本', {'fields':['name']}),
    ]
    # 扩展关联的对象
    inlines = [AreaInfoStackedInline]

xadmin.site.register(BookInfo, BookInfoAdmin)

  • 修改管理系统的名字inx.py
    在adminx.py下修改

      import xadmin
      from xadmin import views
      
      class BaseSetting(object):
          enable_themes = True     # 默认主题为Fauls,设为Ture
          use_bootswatch = True     # 开启主题按钮
      
      
      class GlobalSettings(object):
          site_title = '图书后台管理系统'  # 左上角管理名
          site_footer = '数据管理'         # 中下命名
          menu_style = 'accordion'        #修改应用为类似百叶窗,收起来
        
      xadmin.site.register(views.BaseAdminView, BaseSetting)
      
      xadmin.site.register(views.CommAdminView, GlobalSettings)
    
  • 修改应用的名字
    应用apps.py

      from django.apps import AppConfig
      
      class BookConfig(AppConfig):
      	  name = 'book'
      	  verbose_name = '书籍名'
    

    应用同级目录__init__.py

      default_app_config = 'Book.apps.BookConfig
    

猜你喜欢

转载自blog.csdn.net/a6864657/article/details/85419721