Django模型中的插图文字

时间:2018-12-29 05:04:44

标签: django

我正在尝试使用Django 2.0创建一个Blog,并且我已经创建了a primitive one。它具有一个Post模型,如下所示:

class Post(models.Model):
    PriKey = models.CharField(max_length=255,primary_key=True)
    Heading = models.CharField(max_length=100)
    DateOfPost = models.DateField(default=datetime.date.today())
    Content = models.TextField()

可以看出,内容区域只是文本,到目前为止,我不能在内容中添加任何特殊样式或图片。 我曾考虑过在文本内容中使用HTML标签,但是在呈现网页时它们看上去没有变化。 所以我的问题是,有什么方法可以将图片和文本一起存储在Post模型的内容字段中?我想制作类似this

是否可以使用Django模型在相应位置显示图片?如果没有,还有其他方法吗? 另外,有什么方法可以将HTML代码存储在django模型中并在网站运行时按原样呈现它们?

2 个答案:

答案 0 :(得分:0)

您可以在字段中存储html标签。

渲染时,将其标记为安全模板

  

{{post.content | safe}}

这将呈现所有html标签。

  

但这不是一个好方法,因为它使您很容易受到跨站点脚本攻击的侵害

更好的方法是使用ckeditor之类的东西

它提供了RichTextField和RichTextUploading字段,您可以使用它上载图片,视频,代码段,设置文本样式以及在一个字段中进行更多操作。

还有许多其他光子,但我更喜欢ckeditor

Ckeditor是跨平台编辑器,django-ckeditor是包含ckeditor的django实现的库,可为您提供完整的后端和前端组合

ckeditor

django-ckeditor

答案 1 :(得分:0)

django-pagedown一个django应用程序,无论是在自定义应用程序中还是在Django Admin中,该应用程序都可以轻松地将Stack Overflow的“ PageDown” markdown编辑器添加到django表单字段中。 我想你应该试试看
干杯:)