- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个模型,其字段如图所示。我在 wagtail_hooks.py 中创建了以下 ModelAdmin。
class opportunitiesAdmin(ModelAdmin):
model = opportunities
menu_label='Opportunities'
menu_icon='fa-briefcase'
list_display = ['reference_no','stage','opportunity_name','expected_value','probability','BDM','sector_code','service_code','source_code','date_entered','close_date']
list_filter = ('stage',)
menu_order=435
问题是列表过滤器覆盖了数据。我想知道我能否将此列表过滤器作为下拉列表移动到标题。
最佳答案
好问题,我认为这可能是 Wagtail 的 ModelAdmin
的一个潜在问题,提出问题可能是件好事。存在与“折叠状态”相关的类似问题 here .
一种仅使用 CSS 的快速解决方法是将内容“移动”到按钮附近的顶部。您可能想要优化以在不同的视口(viewport)断点内工作,而且这不是最容易访问的解决方案,但它可以让您快速到达目的地。
您可以通过 index_view_extra_css
将 css 添加到 ModelAdmin
索引列表中.
下面的示例方法假设这是桌面 View ,用户可以“悬停”在移动到标题的列表过滤器上。
wagtail_hooks.py
class opportunitiesAdmin(ModelAdmin):
model = opportunities
#...
index_view_extra_css = ('css/modeladmin-index.css',)
static/css/modeladmin-index.css
@media screen and (min-width: 50em) {
.changelist-filter {
position: fixed;
top: 0;
right: 15rem;
z-index: 1;
background: white;
transform: translateY(-100vh);
}
.changelist-filter h2 {
margin-top: 1rem;
transform: translateY(100vh);
}
.changelist-filter:hover {
transform: none;
}
.changelist-filter:hover h2 {
margin-top: 0;
transform: none;
}
}
您可以更进一步,修改使用的模板(在每个模型或所有索引页面的基础上)。参见 ModelAdmin
Overriding Templates文档。
对于底层的 index.html
模板,您可以查看 contrib/modeladmin/templates/modeladmin/index.html
的来源.
下面的示例扩展了默认索引模板并使 block filters
不呈现任何内容。然后,查看源代码,复制滤镜呈现的方式并将它们放入 block header_extra
中。
一开始,内容被放入一个具有属性 data-dropdown
的 div 中,它将在下拉列表中呈现内部内容,第一个元素是“触发器”,第二个是选项。
注意:这是一个粗略的示例,可能需要进一步的样式和元素属性。
templates/modeladmin/index.html
{% extends 'modeladmin/index.html' %}
{% load i18n modeladmin_tags %}
{% block header_extra %}
{% if view.has_filters and all_count %}
<div {{ self.attrs }} class="c-dropdown" data-dropdown>
<a href="javascript:void(0)" class="c-dropdown__button u-btn-current">
<strong>{% trans 'Filter' %}</strong>
<div data-dropdown-toggle="" class="o-icon c-dropdown__toggle [ icon icon-arrow-down ]"></div>
</a>
<div class="c-dropdown__menu u-toggle u-arrow u-arrow--tl u-background">
{% for spec in view.filter_specs %}{% admin_list_filter view spec %}{% endfor %}
</div>
</div>
{% endif %}
{{ block.super }}
{% endblock %}
{% block filters %}
{% comment %} make content blank {% endcomment %}
{% endblock %}
关于python - 在标题上移动 Wagtail Admin list_filter - 列表过滤器覆盖表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61952277/
您好,我有两个对象: class A(models.Model): ... class B(models.Model): a = models.ForeignKey(A) 在管理员中,
Django 不支持从 list_display 或 list_filter 获取外键值(例如 foo__bar)。我知道您可以创建一个模块方法作为 list_display 的解决方法,但是我将如何
DECOM_CHOICES = ( ('N', 'No'), ('Y', 'Yes'), ) class Host(models.Model): hostname = mode
我正尝试在 Django Admin 中过滤带注释的字段,但出现 FieldDoesNotExist 错误。 class Event(models.Model): name = models.
让我们看一下这个例子: class Author(models.Model): ... class Book(models.Model): author = models.For
我用额外的选项扩展了用户,比如部门。但是当我尝试在管理面板为 derpartment 添加过滤器时。它抛出这个错误: ERRORS: : (admin.E116) The value of 'list
鉴于以下模型 class AnotherModel(models.Model): n = models.IntegerField() class MyModel(models.Model):
我的模型的change_list View 如下所示: 右侧的list_filter变得太长并且无法使用。 有没有办法获得更有用的方式来过滤Django的change_list View ? 最佳答案
我正在开发一个同时具有管理员和子管理员的应用程序。子管理员是根据他们所属的组创建的。因此,子管理员只能看到与其组相关的数据。此功能运行完美。 现在,我想创建一个基于用户的过滤器选项。对于 super
我们有三个模型,艺术家: class Artist(models.Model): family_name = models.CharField(max_length=50) given
在我的 admin.py 中,我按“事件”和“国家/地区”进行过滤,这是使用我的 SomethingAdmin 类中的以下代码行完成的.... list_filter = ['active', 'c
在 models.py 中我有: class User(modals.Model): name = models.CharField(max_length=255) image = m
如何根据登录用户在右侧list_filter中显示不同的记录? eg 如果superuser登陆listfilter可以查看list_filter中branch的changelist_view中所有客
所以这是我的代码: class Destino(models.Model): paisid = models.IntegerField(blank = True,null = True)
很抱歉,如果这个问题之前已经回答过,但我做了很多谷歌搜索都没有成功。 我知道如何在管理 View 中创建自定义 list_filter(例如子类化 SimpleFilter)。 我真正想要的是一种(在
我有一个模型,其字段如图所示。我在 wagtail_hooks.py 中创建了以下 ModelAdmin。 class opportunitiesAdmin(ModelAdmin): mode
是否可以只为 super 用户显示 list_filter? 最佳答案 Override changelist view 存储原始列表过滤器的副本,以便您可以根据请求动态设置属性。检查用户是否为 su
我想覆盖默认的 django 管理过滤器模板以使用我自己的模板: https://github.com/feincms/feincms/blob/master/feincms/templates/ad
django admin 中外键过滤器的 List_filter 标签始终按 id 排序,当列表中有很多过滤器时,这可能会导致困惑。 一段时间以来,我一直在寻找简单的解决方案,如何按字母顺序或按日期对
我需要按字段进行一对多过滤,但我只想显示相关对象而不是全部。 这可能吗,还是我必须创建自定义过滤器? 最佳答案 我尽量让我的模板保持“愚蠢”,所以我肯定会在 View 中过滤我的数据。你可以尝试这样的
我是一名优秀的程序员,十分优秀!