xadmin后台管理--Django配置(以及xadmin具体使用)
xadmin后台管理
安装:虚拟环境下
# >: pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2
注册app:dev.py
INSTALLED_APPS = [
# ...
# xamin主体模块
'xadmin',
# 渲染表格模块
'crispy_forms',
# 为模型通过版本控制,可以回滚数据
'reversion',
]
xadmin:需要自己的数据库模型类,完成数据库迁移
python manage.py makemigrations
python manage.py migrate
设置主路由替换掉admin:主urls.py
# xadmin的依赖
import xadmin
xadmin.autodiscover()
# xversion模块自动注册需要版本控制的 Model
from xadmin.plugins import xversion
xversion.register_models()
urlpatterns = [
# ...
path(r'xadmin/', xadmin.site.urls),
]
创建超级用户:api路径终端
# 在项目根目录下的终端
python manage.py createsuperuser
# 账号密码设置:admin | Admin123 创建密码的时候可能不会显示密码
完成xadmin全局配置:新建home/adminx.py
# home/adminx.py
# xadmin全局配置
import xadmin
# Register your models here.
from xadmin import views
class GlobalSettings(object):
"""xadmin的全局配置"""
site_title = "Beetle" # 设置站点标题
site_footer = "Beetle有限公司" # 设置站点的页脚
menu_style = "accordion" # 设置菜单折叠
在adminx.py中注册model:home/adminx.px
from . import models
# 注册
xadmin.site.register(models.Banner)
修改app:home的名字:xadmin页面上的显示效果
# home/__init__.py
default_app_config = "home.apps.HomeConfig"
# home/apps.py
from django.apps import AppConfig
class HomeConfig(AppConfig):
name = 'home'
verbose_name = '我的首页'
具体使用中文文档
https://blog.csdn.net/bocai_xiaodaidai/article/details/94395604
https://www.cnblogs.com/wumingxiaoyao/p/6928297.html
https://blog.csdn.net/iteye_12715/article/details/82678753 取消按钮
https://www.cnblogs.com/zgf-666/p/9161854.html 其他设置
https://www.bbsmax.com/A/kvJ3p6Wg5g/ 控制用户访问数据
控制用户访问数据
def queryset(self):
qs = super().queryset()
print(qs)
if self.request.user.is_superuser: # 超级用户可查看所有数据
return qs
else:
return qs.filter(hospital_name=self.request.user.username)
取消表增加和删除权限
class Modeladmin(object):
def has_add_permission(self):
return False
def has_delete_permission(self):
return False