python - 让 HTML 在 django 管理显示中换行

标签 python html django format

我把它作为我的 django 显示

执行此操作的代码是:

class PurchaseOrder(models.Model):
    product = models.ManyToManyField('Product', null =True)

    def get_products(self):
        return "\n".join([p.products for p in self.product.all()])

class Product(models.Model):
    products = models.CharField(max_length=256, null =True)

    def __unicode__(self):
         return self.products

views.py:

class PurchaseOrderAdmin(admin.ModelAdmin):
   fields = ['product']
   list_display = ('get_products')

所以我尝试这样做:

from django.utils.html import format_html

 def get_products(self):
    return format_html(" <p> </p>").join([p.products for p in self.product.all()])

但是,它仍然没有以 HTML 格式返回它。或者更确切地说,我想要它在图像中的方式

最佳答案

您需要设置该字段以允许 HTML 的标签显示在管理列表显示中:

class PurchaseOrder(models.Model):
    product = models.ManyToManyField('Product', null =True)

    def get_products(self):
        return "<br />".join([p.products for p in self.product.all()])
    get_products.allow_tags = True

参见 the docs获取更多信息。

关于python - 让 HTML 在 django 管理显示中换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18111297/

相关文章:

python - JSON 对象必须是 str,而不是 'bytes'

python - 以编程方式对两个表进行自然连接

javascript - 仅包含来自 IPv6 和 IPv4 的源的 HTML 页面

Django选择带有空ManyToManyField的对象

python - 无法在 Django Flatpages 中使用 {{MEDIA_URL}}?

Django REST Framework 创建嵌套序列化程序会出现 pk 错误

python - 使 Tkinter 窗口成为非 Tkinter 窗口的子窗口

python - 如何识别图中未连接的 sibling ?

javascript - jquery .html() append 后绑定(bind)不起作用

javascript - 如何调用 Google 的 API 两次?我想进行地理编码并显示 map