我的 mysql 記錄中保存了如下所示的文本:Handmade itemMaterials: wooden handcrafted handle, professional laser engraved rubber, brown cardboard special gift box, authorial stamp passport上面的文字是我的附件模型中的概述,它是:from django.db import modelsclass Accessory(models.Model): img = models.ImageField(upload_to='accessories/', default='accessories/no.png') name = models.CharField(max_length=50) price = models.DecimalField(max_digits=5, decimal_places=2) img_inside1 = models.ImageField(upload_to='accessories/', default='accessories/no.png', blank=True) img_inside2 = models.ImageField(upload_to='accessories/', default='accessories/no.png', blank=True) img_inside3 = models.ImageField(upload_to='accessories/', default='accessories/no.png', blank=True) title = models.CharField(max_length=50) overview = models.TextField(blank=True) description = models.TextField()我想在<li>標簽中顯示每一行看起來像這樣: <ul> <li><p>Handmade item</p></li> <li><p>Materials: wooden handcrafted handle, professional laser engraved rubber, brown cardboard special gift box, authorial stamp passport</p> </li> </ul>使用linebreaks過濾器不會應用<ul>默認樣式(顯示項目符號)。提前致謝!
1 回答

繁華開滿天機
TA貢獻1816條經驗 獲得超4個贊
快速而骯臟的解決方案: 在換行符上拆分字符串并迭代結果。
class Accessory(models.Model):
# ...
overview = models.TextField()
def overview_lines(self):
return filter(None, (line.strip() for line in self.overview.splitlines()))
進而
<ul>
{% for line in howeryounamedyourobject.overview_lines %}
<li><p>{{ line }}</p></li>
{% endfor %}
</ul>
更好的解決方案:
要么有合適的材料模型(具有多對多關系),要么在“概述”字段中使用標記而不是純文本。
添加回答
舉報
0/150
提交
取消