xadmin列表页面, 多选记录, 进行操作(标记为订阅, 未订阅)
Q: xadmin列表页面, 多选记录, 进行操作(标记为订阅, 未订阅)
A:
删除是一个Action(特殊的plugin), 所以可以仿照着删除写Action
actions.py
class YaraRulesetLookatAction(BaseActionView):
action_name = "lookat_yararuleset"
description = '订阅 %(verbose_name_plural)s'
model_perm = 'change' # 该 Action 所需权限
icon = 'fa fa-bookmark'
# 执行的动作
def do_action(self, queryset)...
xadmin列表页面 顶部 增加自定义按钮 来触发对整个model表的操作
Q: xadmin列表页面 顶部 增加自定义按钮 来触发对整个model表的操作
A:
如果是对单个数据库记录操作, 可以直接显示自定义列解决.
如果是对多行记录触发操作, 可以写Actions来解决.
对整个数据库表进行操作, 类似数据导入导出(内置的plugin). 可以通过写plugins解决.
plugins.py
from django.template import loader
from xadmin.views import BaseAdminPlugin
class SendHuntingRulesPlugin(BaseAdminPlugin):
send_hunting_rules = False
def init_request(s...
xadmin django里面如何更改model里面field名称, 但是不丢失数据
Q: django里面如何更改model里面field名称, 但是不丢失数据
A:
执行python manage.py makemigrations之后, 打开迁移文件, 找到相关字段部分. 改为
migrations.RenameField(
model_name='case',
old_name='update_user',
new_name='create_user',
),
如果除了field名称之外,还有其他修改的话, 比如verbose_name或者max_length修改. 那么先忽略这些修改. 这个迁移文件里只保留rename行为. 然后再执行一次python manag...
xadmin如何自定义字段在页面上的显示效果. 比如使用自己特定的js控件
Q: 如何自定义字段在页面上的显示效果. 比如使用自己特定的js控件
A:
可以自定义widgets
自定义form将widgets设置到form的对应的field上
在OptionClass里设置form
将OptionClass设置到xadmin上
举例:
在页面上显示tags字段时候想使用select2.js这个模板来实现这样的效果. 也就是多选的select框, 选中的放在上面作为标签, 可以叉掉.
models.py
首先models.py里面tags字段使用了postgres才有的ArrayField来存储多个选项
from django.contrib.postgres.fields import ArrayField
from dj...
docker把根分区占满了怎么办?
由于早上到公司发现/var/lib/docker/overlay2 占用空间很大,决定做一下/var/lib/docker目录迁移工作
首先需要停止docker服务
systemctl stop docker
通过命令df -h 先去看下磁盘大概的情况,找一个大的空间
创建docker的新目录,我这边找了data, 所以我这边的新目录地址是 /data/docker_lib/
mkdir -p /data/docker_lib
注:参数-p 确保目录名称存在,如果目录不存在的就新创建一个。
开始迁移
rsync -avzP /var/lib/docker /data/docker_lib/
先确认是否安装...
xadmin实现编辑界面ArrayField字段显示为checkbox
adminx.py
from django.forms import ModelForm, CheckboxSelectMultiple, MultipleChoiceField
class YaraRulesetForm(ModelForm):
scan_file_path_list = MultipleChoiceField(choices=YaraRuleset.SCAN_FILE_PATH_CHOICES, widget=CheckboxSelectMultiple(), label="测试路径")
class YaraRulesetAdmin:
form = YaraRulesetForm
显示效果
xadmin实现textarea代码高亮
adminx.py
from .widgets import YaraRulesetWidget
class YaraRulesetForm(ModelForm):
ruleset_raw_string = CharField(widget=YaraRulesetWidget)
class YaraRulesetAdmin:
form = YaraRulesetForm
widgets.py
# -*- coding: utf-8 -*-
__author__ = '陈章'
__date__ = '2019-07-16 12:21'
import os
from django import forms
class YaraRulesetWid...
xadmin字段编辑自定义样式select2效果的tags
adminx.py
from .widgets import Select2Widget
class RulesetForm(ModelForm):
tags = SimpleArrayField(CharField(), widget=Select2Widget, required=False)
class RulesetAdmin:
form = RulesetForm
widgets.py
import os
from django import forms
from django.utils.safestring import mark_safe
from common.models import Tags
pwd = os.path...
共计 84 篇文章,11 页。