我想创建一个博客。我想在管理面板中创建博客内容,并呈现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 %}
是否有任何模板标签、模型字段或其他东西来完成此操作?
2条答案
按热度按时间46scxncf1#
您可以通过简单地使用内置的
safe
模板标记来实现这一点。在您的模板中:
在这里查看文档。
fd3cxomn2#
你有一些选择
1.您可以使用内容管理系统(CMS),如django CMS或Wagtail。
1.如果你不想增加拥有一个完整CMS的复杂性,你可以添加一个简单的富文本编辑器(WYSIWYG编辑器),如CKEditor或tiny。
1.除非绝对必要,否则请避免使用“安全”过滤器。“安全”过滤器禁用自动HTML转义,如果模板中使用了不受信任的数据,则会导致跨站脚本(XSS)攻击。