gpt4 book ai didi

python - allow_tags=True 不在 django admin 中呈现
标签

转载 作者:太空宇宙 更新时间:2023-11-03 14:28:19 26 4
gpt4 key购买 nike

我想在 django admin 的 list_display 中显示一个表单,但我遇到了这个问题:

当我定义这样的东西时:

class MyModelAdmin(admin.ModelAdmin):
list_display = ('foo', 'pagar_pase')

def pagar_pase(self, obj):
return """<form action="." method="post">Action</form> """
pagar_pase.description = 'Testing form output'
pagar_pase.allow_tags = True

结果是没有标签的 Action,有什么解决办法吗?

谢谢

最佳答案

这是文档中出现的内容。一些提示:

我认为你应该在你的 list_display 元组中包含 pagar_pase 而且你最好使用 format_html 而不是三重引号。

from django.utils.html import format_html

class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
color_code = models.CharField(max_length=6)

def colored_name(self):
return format_html('<span style="color: #{0};">{1} {2}</span>',
self.color_code,
self.first_name,
self.last_name)

colored_name.allow_tags = True

class PersonAdmin(admin.ModelAdmin):
list_display = ('first_name', 'last_name', 'colored_name')

在这里,他们首先定义了模型,然后创建了一个 ModelAdmin,在那里,他们将方法的名称包含在您缺少的 list_display 中。

你的代码应该是这样的:

class MyModelAdmin(admin.ModelAdmin):
list_display = ('foo', 'my_custom_display', 'pagar_pase')

def pagar_pase(self, obj):
# I like more format_html here.
return """<form action="." method="post">Action</form> """
pagar_pase.description = 'Testing form output'
pagar_pase.allow_tags = True

希望对您有所帮助!

关于python - allow_tags=True 不在 django admin 中呈现 <form> 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16410957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com