4

我对 Web 开发有点陌生,并且无法理解网站内容的存储方式。即使在看过开源项目之后,我仍然感到困惑。

假设我有一个包含多个段落的网页,我希望最终能够通过 Django 管理页面进行编辑。现在,我已经为页面设置了视图,但我不确定应该如何构建模型。

到目前为止,我有:

from django.db import models

class content(models.Model):
    name = models.CharField(max_length=30)
    last_updated = models.DateField(blank=True,null=True)
    content = models.TextField()

“名称”是我的段落将要谈论的内容,“内容”应该是该页面上的所有段落。我的问题:内容字段应该存储在 HTML 中还是应该只存储纯文本?如果它是纯文本,当我将 model.content 字段嵌入到我的模板中时,我将如何添加 HTML 格式?这不会很难看,因为我需要解析纯文本才能做到这一点?

但是,如果我将 HTML 存储在内容字段中,我是否不必在输入内容时使用 HTML 或在管理页面中使用 WYSIWYG 编辑器?

感谢您的任何帮助 :)

4

2 回答 2

2

在管理员中,您可以使用像TinyMCE这样的所见即所得编辑器, 这会将内容存储为 HTML。渲染时 - 你可以做{{content|safe}}.

查看django-flatpages。它完全符合您的目标。

于 2012-12-22T22:27:38.347 回答
1

查看django-tinymce。它是一个很好的包,它提供了一个与前端表单相关联的小部件和一个在管理员中显示为编辑器的模型字段。CharFieldWYSIWYG

是的,它将文本内容作为 html 存储在数据库中。

于 2012-12-22T22:26:41.903 回答