2013-08-07 47 views
2

我有這個作爲我的Django顯示獲取HTML在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中返回它。或者說,一路上我想要的圖像

回答

2

您需要設置字段以允許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

+0

模型中有允許標籤嗎?我實際上無法在管理員中進行編譯。任何想法如何得到它的模型? – Mdjon26

+0

我的示例在您的模型類上。 – Brandon