Django文本字段模型的HTML格式

gj3fmq9x  于 2023-04-27  发布在  Go
关注(0)|答案(2)|浏览(94)

我想创建一个博客。我想在管理面板中创建博客内容,并呈现HTML格式的博客内容。
models.py

class Blog(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    date_created = models.DateField(auto_now_add=True)

def __str__(self):
    return self.title

在管理面板中:Create blog content with HTML format in admin
在模板中:

{% extends 'base.html' %}

{% block content %}
<h1>{{ blog.title }}</h1>
<p>{{ blog.content }}</p>
{% endblock content %}

是否有任何模板标签、模型字段或其他东西来完成此操作?

46scxncf

46scxncf1#

您可以通过简单地使用内置的safe模板标记来实现这一点。
在您的模板中:

{% extends 'base.html' %}

{% block content %}
<h1>{{ blog.title }}</h1>
<p>{{ blog.content | safe }}</p>
{% endblock content %}

在这里查看文档。

fd3cxomn

fd3cxomn2#

你有一些选择

1.您可以使用内容管理系统(CMS),如django CMSWagtail
1.如果你不想增加拥有一个完整CMS的复杂性,你可以添加一个简单的富文本编辑器(WYSIWYG编辑器),如CKEditortiny
1.除非绝对必要,否则请避免使用“安全”过滤器。“安全”过滤器禁用自动HTML转义,如果模板中使用了不受信任的数据,则会导致跨站脚本(XSS)攻击。

相关问题