当文本和图像都在模型中时,在django中的文本之间插入图像

时间:2016-01-07 18:41:29

标签: javascript python html css django

我正在寻找一种在用django制作的博客文本之间插入图像的方法。我想要实现的是如下图所示:

enter image description here

您将看到文本分为两列。有标题,链接图像及其标题。

现在我的模型就像:

class Post(models.Model):
    body_col1 = models.TextField()
    body_col2 = models.TextField()
    body_col1_html = models.TextField(editable=False, blank=True, null=True)
    body_col2_html = models.TextField(editable=False, blank=True, null=True)
    image = image = models.ImageField()

文本转换为markdown,因此我可以在管理面板中添加css格式。所以我所做的是使用标签在html模板中呈现变量:

<div class="column-left">
    {{ object.body_col1_html|safe}}
</div>
<div class="column-right">
    {{ object.image}}
    {{ object.body_col1_html|safe}}
</div>

这样做我有两列,图像位于第二列的顶部。

我正在寻找一种方法删除文本的两个字段,所以我只有一个文本字段,我可以在文本中添加我的图像。我有一个javascript函数,自动将文本分为两列。我想有这样的事情:

<div class="columns">
    {{ object.body|safe}}
</div>

其中正文字段已经包含图像(与我添加css或链接的方式相同)。

我到目前为止尝试的是在{{object.image}}这样的文本框中添加标签,但是,因为我正在使用markdown,所以它会转换为文本,因此我得到了一个无用的字符串而不是我的图像。 / p>

有没有办法在管理面板中添加正文文本框中的图像?我可以从那里调用模板标签吗?

django博客的代码是here

1 个答案:

答案 0 :(得分:1)

我认为你需要的是富文本编辑器,它允许你构建你想要的外部html页面,并将它们安全地放入数据库的单个字段中。 最受欢迎的编辑之一是CKeditor,我建议你看看django-ckeditor