- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想通过不同的权限自定义 list_display。例如,super 可以看到“价格”,其他则不能。管理员.py
class bookAdmin(admin.ModelAdmin):
def display_resort(request):
if request.user.is_super:
resort_list = ["name", "author", "price"]
else:
resort_list = ["name", "author"]
return resort_list
list_display = ['display_resort']
但是我得到了
display_resort() takes exactly 1 argument (2 given)
我认为返回的东西不在正确的方法中,我也尝试过在元组、迭代和字符串等中返回“resort_list”。但都失败了。简而言之,我想自定义整个 list_display,而不仅仅是它的一个字段。寻求您的帮助,谢谢。
---在freylis的帮助下,我现在的代码是:
class bookAdmin(admin.ModelAdmin):
def get_list_display(self, request):
default_list_display = super(bookAdmin, self).get_list_display(request)
if request.user.is_super:
default_list_display = ["name", "author", "price"]
else:
default_list_display = ["name", "author"]
return default_list_display
这里有一个get_list_display的文档https://docs.djangoproject.com/en/1.4/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_list_display , 但不是很详细。
最佳答案
首先,类的所有方法都采用第一个参数self
,因此您需要像这样定义您的方法:
def display_resort(self, request):
if request.user.is_super:
resort_list = ["name", "author", "price"]
else:
resort_list = ["name", "author"]
return resort_list
但这不是 django 方式。您需要在 bookAdmin
类中定义 get_list_display
方法:
class bookAdmin(admin.ModelAdmin):
def get_list_display(self, request):
default_list_display = super(bookAdmin, self).get_list_display(request)
if request.user.is_superuser:
# return any list
return default_list_display
关于Django 管理员自定义 list_display,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21641243/
我想通过不同的权限自定义 list_display。例如,super 可以看到“价格”,其他则不能。管理员.py class bookAdmin(admin.ModelAdmin): def
我有 2 个应用程序:Visitors和 Meetings ,通过 ManytoMany 链接 field : 访客/models.py: from django.db import models f
这是 models.py 的片段 class Applicant(models.Model): name = models.CharField(...) email = models.
我在 Django >= 1.6 文档中阅读: "The field names in list_display will also appear as CSS classes in the HTML
models.py 中有一个名为Employees 的类 class Employees(models.Model): employee_id = models.CharField(verbo
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Can “list_display” in a Django ModelAdmin display attr
我想在 Django Admin 的 list_display 中添加“annotation count”字段。 模型.py class Log(models.Model): ...
Closed. This question does not meet Stack Overflow guidelines 。它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 Stack Ov
我刚刚开始使用 Django 管理 View ,开始时,我试图做一些非常简单的事情:使用 list_display 显示对象列表中的几个字段,如下所述:https://docs.djangoproje
我尝试在 Django 管理端的列表显示中显示带有换行符的文本。 class MyModelAdmin(admin.ModelAdmin): list_display = ('example'
需要在 admin list_display 中截断文本 在管理模型中有以下内容但仍显示全文。 from django.template.defaultfilters import truncatew
我有两个模型和一个管理模型: class Person(models.Model): firstname = models.CharField(maxlength=50) surnam
我正在尝试在 list_display 上显示 TextField 的前 10 个字符。 可以在管理界面中吗? 最佳答案 您可以定义一个返回字段前 10 个字符的可调用函数,并将其添加到 list_d
如果状态 = 已关闭,则尝试更改背景颜色。 当我尝试下面的代码时,结果以 html 而不是实际颜色显示。 ##Mode.py from django.template.defaultfilters i
我有两个模型: class Person(models.Model): person_name = models.CharField(max_length=255) def __uni
我有以下代码: #models.py class Repair(models.Model): products = models.ManyToManyField(Product) de
我正在尝试使用 Django 的官方教程。特别是 modeladmin list_display: http://docs.djangoproject.com/en/1.2/intro/tutoria
在我的主网站(管理页面之外)中获得 list_display 功能的最简单方法是什么。 我有一组元素我想选择并执行一个 Action 。有什么想法吗? 最佳答案 名为 django-filter 的应
class CDR(models.Model): order = models.ForeignKey(Order) call = models.ForeignKey(Call)
有没有像 get_list_display() 这样的管理模型方法,或者我可以有一些条件来设置不同的 list_display 值? class FooAdmin (model.ModelAdmin)
我是一名优秀的程序员,十分优秀!