猿问

如何在Django模板中显示li标签中的一行文本?

我的 mysql 记录中保存了如下所示的文本:


Handmade item


Materials: wooden handcrafted handle, professional laser engraved rubber, brown 

cardboard special gift box, authorial stamp passport

上面的文字是我的附件模型中的概述,它是:


from django.db import models


class 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>默认样式(显示项目符号)。提前致谢!


qq_遁去的一_1
浏览 211回答 1
1回答

繁华开满天机

快速而肮脏的解决方案: 在换行符上拆分字符串并迭代结果。class Accessory(models.Model):&nbsp; &nbsp; # ...&nbsp; &nbsp; overview = models.TextField()&nbsp; &nbsp; def overview_lines(self):&nbsp; &nbsp; &nbsp; &nbsp; return filter(None, (line.strip() for line in self.overview.splitlines()))进而&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<ul>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {% for line in howeryounamedyourobject.overview_lines %}&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <li><p>{{ line }}</p></li>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {% endfor %}&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </ul>更好的解决方案:要么有合适的材料模型(具有多对多关系),要么在“概述”字段中使用标记而不是纯文本。
随时随地看视频慕课网APP

相关分类

Python
我要回答